Commit Graph

19 Commits

Author SHA1 Message Date
T. Thonhauser f047985b92 vdW-DF: Implementing vdW-DF3-opt1, vdW-DF3-opt2, and vdW-DF-C6 & inlc cleanup
We implemented the new vdW-DF type functionals vdW-DF3-opt1, vdW-DF3-opt2, and
vdW-DF-C6. For purposes of non-local functional implementation and evaluation,
we also grouped similar implementations into ranges for the "inlc" variable. To
this end, we have reserved inlc=1 to inlc=25 for vdW-DF development and we
moved rVV10 to inlc=26. This allows for a cleaner code when parsing through the
various non-local functionals. In addition, we have removed all instances of
"inlc" and "get_inlc" in several source files where they are no longer needed.
This work was performed by T. Thonhauser and is supported by NSF Grant No.
1712425.
2020-05-21 12:49:41 -04:00
T. Thonhauser 7ae21fc668 Calculate vdW kernel on the fly: fourth commit
In this commit, the entire Quantum Espresso environment is updated so
that "make all" succeeds and produces functional codes. The resulting
codes were tested with the test-suite and all related tests passed. In
addition, I did some more extensive testing with van der Waals systems,
using the option "verbosity = 'high'" so that the non-local corr. energy
is written out explicitly; in all cases, results were identical to
qe-6.4.1 (also tested in parallel).

Overall, I updated 21 Fortran source files, mostly related to the
handling of the kernel file name(s). Modules/xc_rVV10.f90 saw more
substantial changes and now also computes the kernel on the fly. The
two routines PW/src/generate_rVV10_kernel_table.f90 and
PW/src/generate_vdW_kernel_table.f90 are now removed.

In addition, I updated the developer manual and the PW user guide. I
edited two Makefiles and ran "make depend", resulting in 6 changed
make.depend files. I updated 5 scripts and one README file, mostly
related to examples.

Finally, some of the reference files in the test suite and in some
examples had a rather old format and a "diff" after running those cases
shows unnecessarily many differences. I thus created new reference data
for the vdW cases in the test suite (running "make create-reference-pw")
and I updated the PHonon/examples/example16 and
PW/examples/vdwDF_example references (23 files updated, 11 files
deleted, and 6 files added; the file and directory structure of the
delta-scf calculations needed some more substantial updating). I also
updated PP/examples/ACF_example/reference_vdw-df-cx/atoms.out.

At this point I will do some final testing and cleaning-up of the code.
The next commit fill be the final commit.
2019-09-23 14:50:52 -04:00
fabrizio22 9c87cf7106 full lsda rho conversion 2019-01-21 12:02:37 +01:00
Paolo Giannozzi f1b4f3d510 Miscellaneous cleanup: release notes, make.depend in EPW, pseudopotentials.
About the latter: please do not add PP files to the distribution unless
really needed; download them from the web instead.
2019-01-16 21:13:04 +01:00
Lorenzo Paulatto (naquite) b578124885 rvv10 + scan implemented as in PRX 6, 041005 (2016)
This requires two important changes:
1. that rvv10 can take b_param as input, as it uses as different value when combined with scan
2. that v_xc_meta does not reset the XC potential and energy to zero, but adds on top of the input potential. This allows calling v_xc first and v_xc_meta afterwards

The new functional can be used with the shortcut name rvv10-scan aka (1,4,13,4,3,5) aka SLA+PW+RW86+PBC+VV10+SCAN
2018-04-27 13:51:31 +02:00
Paolo Giannozzi 81f69035ae Minor fixes for pedantic compilation (explicit declarations, character
variables not truncated, etc). Added option --enable-pedantic in configure
(only gfortran)
2018-03-26 18:40:16 +02:00
Paolo Giannozzi a88e82dd2a "numerical_gradient" in vdW-DF and rVV10 replaced by "fft_gradent_r2r".
NOTA BENE: the indices of the array containing the gradient for vdW-DF and
rVV10 functionals have been reverted: now the index of components is the first,
the index  of grid points is the last last. Not sure this is the best choice
but it is the choice done (almost) everywhere else in QE
2018-01-18 09:50:35 +01:00
Stefano de Gironcoli 41e91c0dac new interface to fft calls
three types of calls are possibles :  'Rho', 'Wave', 'tgWave'

   In order to enable an fft-type for a given grid the corresponding clock_labels must be set.
   One gives a name to desc%rho_clock_lable for 'Rho' type fft and a name to
   desc%wave_clock_lable for 'Wave' and 'tgWave' types. Whether tg is
   possible depends of the already defined value of desc%have_task_groups variable (mispell to be corrected soon).

   definining
      dffts%rho_clock_label='ffts', dffts%wave_clock_label='fftw',
      dfftp%rho_clock_label='fft', dfftt%rho_clock_label='fftc' and
      dfftt%wave_clock_label='fftcw'
   and changing
      'Dense'->'Rho', 'Smooth'->'Rho', 'Custom'->'Rho', 'CustomWave'->'Wave'
   the same clock names and the same overall behavior as with the old interface is obtained.
2018-01-02 17:45:45 +01:00
Carlo Cavazzoni 63f85f4e6f arrays: nl, nls, nlm, nlsm removed from recvec module, added to fft type 2017-12-24 00:31:22 +01:00
ccavazzoni 8f777555f3 - adding "howmany" parameter to the cfft3d subroutine,
to compute many FFTs at the same time, particularly usefull for EXX
  but could be usefule for many linear response code as well
  (for the time being implemented only for DFTI and internal FFTW,
  should be trivial to extend other drivers)
- more clean-ups


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12815 c92efa57-630b-4861-b058-cf58834340f0
2016-08-19 22:55:53 +00:00
degironc 4bd82d234d phonon with vdW-DF/vdw-DF2/rVV10 added.
make.depend updated


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12296 c92efa57-630b-4861-b058-cf58834340f0
2016-04-11 15:40:37 +00:00
degironc c5b621f845 wrong communicator was used to collect data inside the band group
intra_pool_comm -> intra_bgrp_comm
they are the same when nbgrp=1



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11827 c92efa57-630b-4861-b058-cf58834340f0
2015-11-05 03:49:57 +00:00
giannozz 9ea54aa504 Floating-point error (division by zero) in rVV10 functional. Apparently
it was there since some time, but most compilers didn't care too much


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11558 c92efa57-630b-4861-b058-cf58834340f0
2015-06-04 16:41:38 +00:00
giannozz 6746e94551 Removal of the last remaining references to __PARA in PW. There is one left
in PHonon/FD in a routine that shouldn't be there, and a lot of them in GWW


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11320 c92efa57-630b-4861-b058-cf58834340f0
2015-01-20 08:40:02 +00:00
giannozz 2b20ce53d4 Removed some tabulators
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11039 c92efa57-630b-4861-b058-cf58834340f0
2014-06-10 08:06:17 +00:00
gibertini a555374ba9 Fixed a mistake in the calculation of the vdW non-local contribution
to vtxc that was affecting mainly total energy and stress.



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10958 c92efa57-630b-4861-b058-cf58834340f0
2014-05-12 17:20:34 +00:00
giannozz ae9864ecfc Module input_parameters not to be used here
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10709 c92efa57-630b-4861-b058-cf58834340f0
2014-01-30 10:56:54 +00:00
giannozz cd1a777e45 Compilation problem: line exceeding 132 characters
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10597 c92efa57-630b-4861-b058-cf58834340f0
2013-11-11 20:09:25 +00:00
riccardo f0d09c3bfa - rVV10 ported to the main trunk. The corrisponding kernel
table can be generated, energy&potential and stress added
to the main drivers

- funct.f90 modified to accomodate the rVV10 and to clean
up new addition for VDW-DF3 and VDW-DF4 (new GGA-NL combination,
not new NL functionals)

- nspin=1 case added for NL functionals, both for vDW-DF and rVV10
*still to test*



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10591 c92efa57-630b-4861-b058-cf58834340f0
2013-11-08 10:56:58 +00:00