Using B97M-V functional from trunk version of LIBXC in CP2K simulation

lar... at lar... at
Fri Jul 17 18:34:46 UTC 2015

As the subject suggests I am trying to use the XC functional B97M-V that is 
implemented in the trunk version of libxc. The first thing that I did was 
to compile the trunk version of LIBXC and CP2K 2.6.1. I have been able to 
run simulations using the conventional functionals from libxc. With 
"conventional" I mean the ones that are automatically referenced in CP2K 
after installation in the file cp2k/src/xc/libxc_funcs_m.F".

The functional that I am interested in using can be found in the file 
/libxc/src/libxc_funcs.f90 under the name XC_MGGA_XC_B97M_V. The references 
to this functional are not in the libxc_funcs_m.F file of CP2K so I added 
the references to this functional manually modifying the following files:

In /cp2k/src/xc/libxc_funcs_m.F I added the line: "INTEGER, PARAMETER :: 
XC_MGGA_XC_B97M_V = 254", where the number 254 is the reference for the 
functional in the file libxc/src/libxc_funcs.f90)
In /cp2k/src/xc/xc_libxc.F I added the line "IF 
(TRIM(func_name)=='XC_MGGA_XC_B97M_V') get_func_id = 254"

However, after adding the references of the functional to these files it 
still doesn't work (when I run a CP2K simulation using the 
XC_MGGA_XC_B97M_V says that it cannot find that name). I am not sure if I 
have to modify any other files or what to do at this point. I would 
appreciate any help. Thanks in advance!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the CP2K-user mailing list