[CP2K-user] [CP2K:17609] Re: CP2K+SIRIUS with dispersion functionals

Mathieu Taillefumier mathieu.taillefumier at gmail.com
Mon Sep 5 15:01:10 UTC 2022


Thanks for the feedback.

It was possible to go around this problem at an early stage of SIRIUS
integration to cp2k but it is not possible to do this anymore. I can come
up with a solution for the vdw correction but it will require modifying
cp2k accordingly. I would suggest you to open an issue on cp2k github site
(as feature to have) so I can track this. It should not take long to
include this feature to cp2k.For the time being i have no easy solution to
give you unless you are willing to add one line of code for testing and
recompiling.

As a temporary solution add this (it turns it on permanently)

CALL sirius_add_xc_functional(sctx, "XC_FUNC_VDWDF")

in sirius_interface.f after the line 186 and recompile. Remove the
FUNC_VDWXC keyword from the XC section and run it again.

*Warning: *it is a temporary solution for *testing *but it will give me
time to actually implement the real fix.

Best
M.


Le lun. 5 sept. 2022 à 10:09, Dialogicus <dialogicus at gmail.com> a écrit :

> Thank you for your advice. Unfortunately, it doesn't work. CP2K can't
> identify FUNC_VDWDF as a keyword or subsection. The out file says
>
>
> Possible matches for unknown subsection
>
> FUNC_VDWDF
>
>    enum BEEFVDW in section
> %__ROOT__%FORCE_EVAL%DFT%KG_METHOD%XC%XC_FUNCTIONAL for keyword
> _SECTION_PARAMETERS_ score:  103
>    subsection LDA_C_VWN in section
> %__ROOT__%FORCE_EVAL%DFT%KG_METHOD%XC%XC_FUNCTIONAL score:  103
>    subsection MGGA_C_DLDF in section
> %__ROOT__%FORCE_EVAL%DFT%KG_METHOD%XC%XC_FUNCTIONAL score:  103
>    subsection GGA_C_CCDF in section
> %__ROOT__%FORCE_EVAL%DFT%KG_METHOD%XC%XC_FUNCTIONAL score:  103
>    enum BEEFVDW in section
> %__ROOT__%FORCE_EVAL%DFT%ENERGY_CORRECTION%XC%XC_FUNCTIONAL for keyword
> _SECTION_PARAMETERS_ score:  103
>
>
>  *******************************************************************************
>  *   ___
>     *
>  *  /   \
>      *
>  * [ABORT]
>     *
>  *  \___/         unknown subsection FUNC_VDWDF of section XC_FUNCTIONAL
>     *
>  *    |
>      *
>  *  O/|
>      *
>  * /| |
>      *
>  * / \
> input/input_parsing.F:187 *
>
>  *******************************************************************************
>
>
> As far as I understand, this error means invalid syntax for CP2K, but not
> for SIRIUS. So, is there any way to send information about vdW functional
> directly to SIRIUS run (e.g. SIRIUS includes this functional automatically
> in each run)?
>
> --
> D.
>
>
> Hi,
>>
>> CP2K implementation of vdw is completely independent of libvdwxc which is
>> used in SIRIUS. It means in practice that
>>
>>    - there is no direct path in place in cp2k to parse the VDW_POTENTIAL
>>    section and find the relevant functional supported in libvdwxc (and
>>    SIRIUS).It should probably be added if possible.
>>    - the VDW_POTENTIAL section is simply ignored when SIRIUS is
>>    initialized. It means that the calculations are correct but simply ignore
>>    the vdw corrections.
>>    - CP2K documentation is misleading
>>
>> If you wish to try a vdwxc functional with SIRIUS, then have a look at
>> the functional supported by libvdwxc (
>> https://libvdwxc.gitlab.io/libvdwxc/background.html#van-der-waals-forces)
>> that fit your needs and then add it to the list of functional
>> XC_FUNC_VDWDF, XC_FUNC_VDWDF2, or XC_FUNC_VDWDFCX to the libxc section of
>> your input file.
>>
>> something like that might actually work.
>>
>> &XC_FUNCTIONAL
>>         &GGA_X_PBE_SOL
>>         &END GGA_X_PBE_SOL
>>         &GGA_C_PBE_SOL
>>         &END GGA_C_PBE_SOL
>>         &FUNC_VDWDF
>>         &END FUNC_VDWDF
>> &END XC_FUNCTIONAL
>>
>> let me know if it works or not.
>>
>> Best
>>
>> M.
>>
>> Le vendredi 2 septembre 2022 à 11:02:29 UTC+2, Dialogicus a écrit :
>>
>>> Dear CP2K users,
>>>
>>> As CP2K manual says it’s possible to use Van der Waals functionals in
>>> the plane-wave calculations with SIRIUS.
>>>
>>> I tried to run Fm3m gold cell optimization using pseudopotential PW
>>> method. VdW interactions were taken into account in VDW_POTENTIAL
>>> subsection with NON_LOCAL type of dispersion functional. However, it seems
>>> there’s no difference between calculations with and without dispersion
>>> correction. I suspect the vdW functionals don’t work in my case.
>>>
>>> My CP2K and SIRIUS are both linked with libvdwxc library.
>>>
>>> I don’t know what I’m doing wrong. Is any ideas?
>>>
>>> My input and output files (with and without vdW correction) are attached
>>> below.
>>>
>> --
> You received this message because you are subscribed to a topic in the
> Google Groups "cp2k" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/cp2k/abi2t_F_mQ4/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> cp2k+unsubscribe at googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/cp2k/f2c2235c-79f9-48dd-ae85-a90c7c2034c3n%40googlegroups.com
> <https://groups.google.com/d/msgid/cp2k/f2c2235c-79f9-48dd-ae85-a90c7c2034c3n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups "cp2k" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cp2k+unsubscribe at googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cp2k/CA%2B%3DybGbPc-_gd4yCrF7ACYgF-8pg5iw7tv9T83z6HXaC%3Di8tSQ%40mail.gmail.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20220905/93d7faea/attachment-0001.htm>


More information about the CP2K-user mailing list