[Pw_forum] Range separated hybrid functional in Quantum ESPRESSO

Zhenfei Liu bruin.liu at outlook.com
Wed Sep 30 02:07:00 CEST 2015

Dear Paolo,
Thank you so much for your response, which has been very helpful. I am almost done with what I wanted to do, with only one thing that I am not quite sure: the FUNCTION exx_divergence found in PW/src/exx.f90 (Yes, I know I can set exxdiv_treatment='none' to forget about it and then I'm done, but I want to take into account the divergence part if possible). Besides Gygi & Baldereschi PRB 34, 4405 (1986), could you please provide some other more detailed references about how this term is treated? From PW/examples/EXX_example/README, I know that basically the function adds and subtracts a term with the same divergence, but it would be good if there are some more detailed reference documenting what is exactly done in that function. Thank you very much for your help!
Best regards,
Zhenfei Liu
Lawrence Berkeley National Lab, USA

From: p.giannozzi at gmail.com
Date: Thu, 20 Aug 2015 14:50:07 +0200
To: pw_forum at pwscf.org
Subject: Re: [Pw_forum] Range separated hybrid functional in Quantum ESPRESSO

You may have a look at the "Gaussian-PBE" hybrid, singularity-free XC functional. In order to add a new functional, iIf you do not plan to use libxc, you have to modify Modules/funct.f90 and flib/*functionals.f90. Note however that this is sufficient for the "DFT" part only; the exact (or whatever it is) exchange part, found in PW/src/exx.f90, is a different animal.


On Wed, Aug 19, 2015 at 12:15 AM, Zhenfei Liu <bruin.liu at outlook.com> wrote:

Dear developers and users,
I would like to explore the use of range separated hybrid functional in quantum espresso for some systems. I know the HSE is implemented, but it only has short-range exact exchange. I am wondering if there are already, or if there are plans to implement some functionals with long-range exact exchange, such as the optimally-tuned range-separated hybrid functionals. 
If not, I would like to make such an attempt myself, as I naively thought the necessary ingredients (range separation and exchange integrals) are already there within the code and one needs to pick the right ones and carefully combine them to make a functional. I mainly looked Modules/funct.f90, Modules/libxc.f90, and Modules/libxc_funct.f90. Are these three files the ONLY places that one needs to modify if one wants to create a user-defined functional? I searched the mailing list, and it looks to me there is one post from Paolo that briefly discussed this, but no extensive documents are present. Could someone please provide some suggestions?
Thank you very much!

Zhenfei LiuLawrence Berkeley National Lab, USA 		 	   		  


Pw_forum mailing list

Pw_forum at pwscf.org


Paolo Giannozzi, Dept. Chemistry&Physics&Environment,

Univ. Udine, via delle Scienze 208, 33100 Udine, Italy

Phone +39-0432-558216, fax +39-0432-558222

Pw_forum mailing list
Pw_forum at pwscf.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20150930/23ec5ee4/attachment.html>

More information about the users mailing list