HSE functional

1,142 views
Skip to first unread message

Nichols A. Romero

unread,
Jul 27, 2007, 3:01:13 PM7/27/07
to cp...@googlegroups.com
Hi,
 
What is correct key word for the HSE functional? Are the forces or stresses available? How much
slower is it than a regular LDA/GGA calculation?
 
Thanks,
--
Nichols A. Romero, Ph.D.
DoD PET Group
High Performance Technologies, Inc.
Reston, VA
443-567-8328 (C)
410-278-2692 (O)

mguidon

unread,
Jul 30, 2007, 4:12:38 AM7/30/07
to cp2k
Hi.

The HSE functional is a hybrid functional. It consists of screened
exact Hartree-Fock exchange and two GGA-functionals (PBE and hole-
averaged screened PBE functional). The keywords are (see /tests/QS/
regtest-hybrid/NE-hybrid-HSE06-lda.inp):

&XC_FUNCTIONAL
&XWPBE
SCALE_X -0.25
SCALE_X0 1.0
OMEGA 0.11
&END
&PBE
SCALE_X 0.0
SCALE_C 1.0
&END PBE
&END XC_FUNCTIONAL
&HF
EPS_SCHWARZ 1.0E-10
MAX_MEMORY 10
FRACTION 0.25
SCREENING_TYPE SHORTRANGE
OMEGA 0.11
&END

As in the case of B3LYP the functional is quite expensive since exact
exchange has to be calculated. However, the keyword OMEGA decreases
the cost for the Hartree-Fock part because it results in a better
screening. To get accurate results it is recommended to use OMEGA
values within the range of 0.1 and 0.2. (Higher value means better
screening means faster execution). In the current version, analytical
derivatives up to second order are implemented which means that forces/
stresses are available.
As with all calculations including Hartree-Fock exchange you need an
up-to-date g95 compiler together with the libint-library in order to
run cp2k.

Cheers

Manuel Guidon

Nichols A. Romero

unread,
Jul 31, 2007, 5:18:57 PM7/31/07
to cp...@googlegroups.com
Manuel,
 
Which version of the libint library are you using? Had some trouble compiling 1.1.3
 
Thanks,
 

Teodoro Laino

unread,
Aug 1, 2007, 6:27:39 AM8/1/07
to cp...@googlegroups.com
libint 1.1.2 works for me

teo
p.s.: in case of troubles with the compilation of the libint library you may want to point the problem to the libint team..

Nichols A. Romero

unread,
Aug 2, 2007, 11:02:32 PM8/2/07
to cp...@googlegroups.com
Many thanks to Manuel and Teodoro.
 
My last question (hopefully)...
 
It is always best to keep the consistency between the E_xc used in the DFT calculation and that used in generating the pseudopotential. There really isn't a big difference for something like PW91 vs. PBE but HSE vs. PBE would cause problems. (I think Ge is one example of this, there are problably others.)
 
Does the GTH PP generator support HF exchange?
 
Alternative, is it possible to somehow "convert" a pseudopotential from either fhi98pp or opium into the CP2K format. (I do understand that there are some very big differences between GTH and say HSC type pseudopotential).
 
--
Nichols A. Romero, Ph.D.
High Performance Technologies, Inc.

tkuehne

unread,
Aug 29, 2007, 1:52:14 PM8/29/07
to cp2k
There had been a bug in the 1.1.3 version in the calculation of the
ERI derivatives, in particular d1hrr_order_*.
Edward fixed that and promised a bug-fix available within this day.

I don't know if this is of interest, but a very pragmatic (quick-and-
dirty) way to circumvent the call to C_F_PROCPOINTER is to do it in an
external C++ wrapper. In my case I made all cases explicit (just 200
lines).
This way xlf accepts that.

MfG,
Thomas

On Jul 31, 11:18 pm, "Nichols A. Romero" <narom...@gmail.com> wrote:
> Manuel,
>
> Which version of the libint library are you using? Had some trouble
> compiling 1.1.3
>
> Thanks,
>

> --
> Nichols A. Romero, Ph.D.

> High Performance Technologies, Inc.

Teodoro Laino

unread,
Aug 29, 2007, 2:01:10 PM8/29/07
to cp...@googlegroups.com
>
> I don't know if this is of interest, but a very pragmatic (quick-and-
> dirty) way to circumvent the call to C_F_PROCPOINTER is to do it in an
> external C++ wrapper. In my case I made all cases explicit (just 200
> lines).
> This way xlf accepts that.
>
That's what we were discussing some time ago in this list..

I guess letting coexist the two possibility is quite hard (so in my
personal opinion I would avoid to commit them to the cvs)
but why don't you upload the patches needed for extending hybrid
calculations within all compilers to the File section
of the cp2k google group?
in this way many people would have the possibility to use the exact
exchange with compilers that not necessarily support
the ISO_C_BINDING.

Guess several people would appreciate that..
teo

lml...@gmail.com

unread,
Sep 27, 2007, 8:20:42 PM9/27/07
to cp2k
Hi,
I download the new g95, the system is the Linux-X86-64 operton
machine, infiniband, . Libinit-1.1.2 is installed. I try to compile
the hybrid part (the normal cp2k is ok), it always appear this error
for the libinit_interface.f90. . How can I solve this?

...........................
x86_64-unknown-linux-gnu-g95 -c -cpp -O3 -ffast-math
cp_control_types.f90
x86_64-unknown-linux-gnu-g95 -c -cpp -O3 -ffast-math
semi_empirical_parameters.f90
x86_64-unknown-linux-gnu-g95 -c -cpp -O3 -ffast-math input_cp2k.f90
x86_64-unknown-linux-gnu-g95 -c -cpp -O3 -ffast-math
libint_interface.f90

x86_64-unknown-linux-gnu-g95 -c -cpp -O3 -ffast-math
libint_interface.f90
In file /home/tool/code/cp2k/makefiles/../src/libint_interface.F:422

pc_result = pbuild(lib,1)
1
Error: Type mismatch in parameter 'np' at (1). Passing INTEGER(8) to
INTEGER(4)
In file /home/tool/code/cp2k/makefiles/../src/libint_interface.F:450

pc_result = pbuild(lib,1)
1
Error: Type mismatch in parameter 'np' at (1). Passing INTEGER(8) to
INTEGER(4)
In file /home/tool/code/cp2k/makefiles/../src/libint_interface.F:478

pc_result = pbuild(lib,1)
1
Error: Type mismatch in parameter 'np' at (1). Passing INTEGER(8) to
INTEGER(4)
In file /home/tool/code/cp2k/makefiles/../src/libint_interface.F:506

pc_result = pbuild(lib,1)
1
Error: Type mismatch in parameter 'np' at (1). Passing INTEGER(8) to
INTEGER(4)
In file /home/tool/code/cp2k/makefiles/../src/libint_interface.F:534

pc_result = pbuild(lib,1)
1
Error: Type mismatch in parameter 'np' at (1). Passing INTEGER(8) to
INTEGER(4)
In file /home/tool/code/cp2k/makefiles/../src/libint_interface.F:562

pc_result = pbuild(lib,1)
1
Error: Type mismatch in parameter 'np' at (1). Passing INTEGER(8) to
INTEGER(4)
In file /home/tool/code/cp2k/makefiles/../src/libint_interface.F:590

pc_result = pbuild(lib,1)
1
Error: Type mismatch in parameter 'np' at (1). Passing INTEGER(8) to
INTEGER(4)
In file /home/tool/code/cp2k/makefiles/../src/libint_interface.F:618

pc_result = pbuild(lib,1)
1
Error: Type mismatch in parameter 'np' at (1). Passing INTEGER(8) to
INTEGER(4)
make[1]: *** [libint_interface.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/clhome/limin/code/cp2k/obj/g95/sopt-
libint'
make: *** [build] Error 2
0:00.87 [150.5%] used.


By the way, is it possible to use any other compiler except g95 for
hybrid part?
Any suggestions are welcome!

Limin

Matthias Krack

unread,
Sep 28, 2007, 3:21:51 AM9/28/07
to cp2k
Hi Limin,

the error message seems to be clear. You are passing a 8-byte (Fortran)
integer constant to a libint routine compiled with default 4-byte
integers (g++). I guess you downloaded the g95 version with default 8-byte
integers. If yes, I would suggest to download and use the g95 binary
build for 4-byte default integers.

AFAIK, the IBM compiler can also handle the C ISO BINDINGS, too, but I
have never tried it.

Matthias

lmliu

unread,
Sep 28, 2007, 7:22:34 AM9/28/07
to cp...@googlegroups.com
Hi,

Can anyone tell me how can I get 4-byte one? On the website of 95, i can not find the binary 95 for 4-byte for the X86-64.

Or what parameter in the configure does I need to choose to compile g95? I look through the mannual of G95, but I do not get it. Thanks a lot.

Limin

2007/9/28, Matthias Krack <matthia...@psi.ch>:

Juerg Hutter

unread,
Sep 28, 2007, 7:32:39 AM9/28/07
to cp...@googlegroups.com
Hi

http://ftp.g95.org/g95-x86_64-32-linux.tgz

I assume you have installed

http://ftp.g95.org/g95-x86_64-64-linux.tgz

Juerg Hutter

----------------------------------------------------------
Juerg Hutter Phone : ++41 44 635 4491
Physical Chemistry Institute FAX : ++41 44 635 6838
University of Zurich E-mail: hut...@pci.uzh.ch
Winterthurerstrasse 190
CH-8057 Zurich, Switzerland
----------------------------------------------------------

lmliu

unread,
Sep 28, 2007, 8:02:41 AM9/28/07
to cp...@googlegroups.com
Dear Juerg and Matthias,

Thanks a lot.
I download the wrong G95. Now, eveything is ok.

Another question, is it possible to use MPI for hybrid part at present ? There is no hybrid makefile for parallel in arch directory.


Best Regards,
Limin



mguidon

unread,
Sep 28, 2007, 9:02:45 AM9/28/07
to cp2k
Hi

Yes, hybrids also work in parallel. Have a look at the file Linux-
x86-64-g95.popt-libint which I just added to the cvs repository.

Cheers

Manuel Guidon

lmliu

unread,
Sep 28, 2007, 9:55:34 AM9/28/07
to cp...@googlegroups.com
Very thanks.

Limin

2007/9/28, mguidon <manuel...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages