[Q-e-developers] rVV10 non-local functional in PW

Paolo Giannozzi p.giannozzi at gmail.com
Fri Feb 10 18:05:42 CET 2017


Slightly longer answer: it is hard to follow the logic of kernel-table
file naming, but it seems to me that if the file name is not
broadcast, the first processor will use what was saved to file; all
the others will use the default value. This is good as long as you did
not specify another kernel-table file name in input (I guess you
didn't); a recipe for disaster, otherwise.

Paolo

On Fri, Feb 10, 2017 at 8:32 AM, Paolo Giannozzi <p.giannozzi at gmail.com> wrote:
> Short answer: I don't know.
>
> Paolo
>
> On Thu, Feb 9, 2017 at 9:24 AM, Nicolas Mounet <nicolas.mounet at epfl.ch> wrote:
>> Dear Paolo,
>>
>> in your opinion, is the second issue a real one, i.e. affecting the
>> results of calculations with rVV10? My intuition is that no, because I
>> presume that if the vdW table name is wrong somewhere, the code would
>> crash since the kernel table file would not be the right one. But I'd
>> better be sure of this - I have in mind the few thousands calculations I
>> ran with rVV10, with QE 5.2...
>>
>> thanks and cheers,
>> Nicolas
>>
>> On 02/09/2017 07:55 AM, Paolo Giannozzi wrote:
>>> Hi Nicolas, thank you. I fixed the first issue. The old data file is
>>> going to disappear so the second issue will disappear with it
>>>
>>> Paolo
>>>
>>> On Thu, Feb 9, 2017 at 1:28 AM, Nicolas Mounet <nicolas.mounet at epfl.ch> wrote:
>>>> Dear all,
>>>>
>>>> I noticed what seem to be two (hopefully minor) issues related to the rVV10
>>>> functional, in PW.
>>>> (This time, I checked first the latest GIT version of the code...)
>>>>
>>>> The first one is in Modules/funct.f90, in the function get_dft_short. There
>>>> is a misplaced "end if" around line 1039, resulting in a shortname that is
>>>> never assigned to 'RVV10' even when inlc is equal to 3 (because it's inside
>>>> another 'if inlc==2' ...).
>>>> This is most probably really minor because apparently the only case when
>>>> this function is called is when the dft is not defined from the input but
>>>> from the pseudo, and I guess it never happens for non-local vdw functionals.
>>>>
>>>> The other issue is in PW/src/pw_restart.f90 : in line 1958, I think one
>>>> should replace "if inlc==1 .OR. inlc==2" by "if inlc>0", because otherwise
>>>> it excludes rvv10 (inlc=3), and the vdw_table_name is then not broadcast.
>>>> I'm not sure how important this latter issue is: to me it seems the function
>>>> initializing the kernel anyway redefines the vdW table name. But I'm not
>>>> sure.
>>>>
>>>> I submit my fixes here (attached).
>>>>
>>>> cheers,
>>>> Nicolas
>>>>
>>>> _______________________________________________
>>>> Q-e-developers mailing list
>>>> Q-e-developers at qe-forge.org
>>>> http://qe-forge.org/mailman/listinfo/q-e-developers
>>>>
>>>
>>>
>>>
>>
>> --
>> Nicolas Mounet
>> Research Scientist
>> EPFL STI IMX THEOS
>> ME D2 1025
>> Station 9
>> CH-1015 Lausanne (Switzerland)
>> Phone: +41 21 69 31159
>> _______________________________________________
>> Q-e-developers mailing list
>> Q-e-developers at qe-forge.org
>> http://qe-forge.org/mailman/listinfo/q-e-developers
>
>
>
> --
> Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
> Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
> Phone +39-0432-558216, fax +39-0432-558222



-- 
Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
Phone +39-0432-558216, fax +39-0432-558222



More information about the developers mailing list