Compute bisection orbital in PBE0 calculation

Questions and discussions regarding the use of Qbox
Forum rules
You must be a registered user to post in this forum. Registered users may also post new topics if they consider that their subject does not correspond to any topic already present on the forum.
Post Reply
Posts: 4
Joined: Thu Sep 14, 2017 10:02 pm

Compute bisection orbital in PBE0 calculation

Post by ngoclinh84phys » Wed Jan 31, 2018 9:44 pm

Hi Francois and everyone,

I would like to obtain the bisection orbitals of liquid water at the ground state computed with PBE0.
In order to speed up hybrid functional calculation, I use the blHF and btHF parameters. My input as below.
My question is: why I do not see the 'localization' information of the bisection orbitals in the output file?

set net_charge 0
set xc PBE0
set blHF 5 5 5
set btHF 0.02
set ecut 40
set wf_dyn JD
set nrowmax 32
run -atomic_density 0 100 10

set wf_diag T

bisection 5 5 5 0.05
save -text qb.bis.xml



Site Admin
Posts: 132
Joined: Tue Jun 17, 2008 7:03 pm

Re: Compute bisection orbital in PBE0 calculation

Post by fgygi » Thu Feb 01, 2018 12:19 am

Hi Linh,
I will try to reproduce the problem using your input script.
In the meantime, note the following:
Using blHF = 5 5 5, is likely to be extremely costly, and will probably not provide any improvement for a moderate-sized system (e.g. H2O_64). Note that blHF is the number of levels used in the bisection. At blHF = 2 2 2, the cell is split into 4x4x4 subdomains. At blHF = 3 3 3, the cell is split into 8x8x8 subdomains. It is unlikely that anything can be gained in a moderate-sized system, by going beyond blHF = 3 3 3.

Here are a few suggestions:
- Since "set nrowmax" erases all information when it reshapes the process grid, it is best to put it as the first command used.
- "set net_charge 0" is not necessary (0 is the default) unless you have changed it before.
- When computing PBE0 wave functions from scratch, it is more efficient to first compute PBE wave functions, then switch to PBE0 and do additional iterations.
- For water, I would recommend a cutoff of 85 Ry. The value 40 Ry is likely too small for accurate results.
- Using "set wf_diag T" before saving the wave functions will not do anything. You need to run at least once in order for the eigenvectors to be computed. (use e.g. "run 0").

Putting together these points, I suggest the following script:

Code: Select all

# change context shape
# use 72 since FFT grid np0v = 144 in this system
set nrowmax 72

# read geometry

# compute the PBE ground state
set xc PBE
set ecut 85
set wf_dyn JD
set scf_tol 1.e-8
run -atomic_density 0 100 10

# switch to PBE0 and compute the ground state
set xc PBE0
set btHF 0.02
set blHF 2 2 2
run 0 20 5
save gs.xml

# bisect ground state wave functions
bisection 2 2 2 0.05
save -text gs_bis.xml
I have tested this script using 72 cores. Please let me know if that works.


Posts: 4
Joined: Thu Sep 14, 2017 10:02 pm

Re: Compute bisection orbital in PBE0 calculation

Post by ngoclinh84phys » Thu Feb 01, 2018 6:25 pm

Thank Francois,

It works with your script.


Post Reply