Commit Graph

1192 Commits

Author SHA1 Message Date
giannozz 3c11cebe3b Merge branch 'develop' into 'develop'
EPA documentation

See merge request QEF/q-e!763
2020-01-27 20:25:28 +00:00
Georgy Samsonidze 32cd912137 Created documentation for the EPA code, renamed some internal variables to improve readability. 2020-01-27 08:39:52 -08:00
carcava 45522b457e Merge branch 'develop' into laxlib
Conflicts:
	CPV/src/cglib.f90
	CPV/src/cplib.f90
	CPV/src/ldaU.f90
	CPV/src/ldaUpen.f90
	CPV/src/nl_base.f90
	CPV/src/ortho.f90
	CPV/src/wave.f90
2020-01-25 11:01:23 +01:00
Paolo Giannozzi 65ad76580f Removal of unused variables, added one ONLY 2020-01-13 12:25:42 +00:00
Paolo Giannozzi 3a5b0df082 More removal of unused references to DDOT 2020-01-09 15:33:14 +00:00
Paolo Giannozzi db4f780f58 Removed unused references to ZDOTC and to "exxinit" 2020-01-09 10:07:39 +00:00
carcava 04d9f24e9c Merge branch 'develop' into laxlib
Conflicts:
	PP/src/projwfc.f90
	PW/src/pwscf.f90
2020-01-03 23:24:22 +01:00
Gunnar Lange 7b3ca5a2b1 Removed commented line 2019-12-08 16:40:52 +00:00
Gunnar Lange 2eebb62a66 An issue with spacing caused the two floats to be adjacent to one another if they are sufficiently large, which causes q2r to crash when reading the files. Adding an additional space fixes this issue. 2019-12-08 16:21:26 +00:00
giannozz d90b7f6281 Documentation updated 2019-11-28 11:06:47 +01:00
Paolo Giannozzi fab2de1d2b Check for incorrect noncolinear+domag phonon case added, as suggested by
Matteo Calandra and Oliviero Bistroni. Version updated to 6.5.
2019-11-26 16:55:36 +01:00
Michael Hutcheon 84b5044d9b Optimized elphsum routine 2019-11-22 17:19:49 +00:00
Eisuke Kawashima f56b70bfc9
Unset executable flag [ci skip] 2019-11-20 15:51:54 +09:00
Carlo Cavazzoni 39b95ce7c7 Merge branch 'develop' into laxlib
Conflicts:
	LAXlib/mp_diag.f90
	PP/src/projwfc.f90
	PW/src/pwscf.f90
2019-11-09 10:39:17 +01:00
Paolo Giannozzi 3b939a1c4a These must also be updated so that they compile (but THEY DO NOT WORK, exactly as before) 2019-11-03 17:31:29 +01:00
Iurii Timrov b3cd57f987 DFPT+U: The headers in Hubbard-specific routines were not accurate,
but the implementation is correct.
2019-10-29 13:33:43 +00:00
giannozz 001faed389 Merge branch 'fix_ph' into 'develop'
Minor changes to the documentation

See merge request QEF/q-e!620
2019-10-16 10:00:40 +00:00
Iurii Timrov f57e75f395 Minor changes to the documentation 2019-10-16 11:33:23 +02:00
Michael Hutcheon 7f65fd2414 Electron-Phonon nsigma fix 2019-10-03 15:06:34 +00:00
Michael Hutcheon c9e9e3e08c Optimized routine that symmetrizes the matrix of electron-phonon coefficients 2019-10-03 09:29:03 +00:00
T. Thonhauser 036ec687f9 Calculate vdW kernel on the fly: fifth commit
This is the final commit for the vdW kernel on the fly recoding. The new
routines have been extensively tested and no differences were found when
compared to qe-6.4.1 output.

In this commit, we have updated the reference files for example16 of the
PHonon code. Finally, a short note describing this work was put into
Doc/release-notes.

This work was performed by T. Thonhauser and is supported by NSF Grant
No. 1712425.
2019-09-25 10:21:03 -04:00
T. Thonhauser 24b88167f2 Merge branch 'develop' of gitlab.com:QEF/q-e into vdW_kernel_on_the_fly 2019-09-23 15:26:28 -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
Carlo Cavazzoni 2274ab71d8 Merge branch 'develop' of gitlab.com:QEF/q-e into develop 2019-09-20 15:06:47 +02:00
Lorenzo Paulatto d4055fd986 New UPF tool and a few minor fixes 2019-09-20 12:57:10 +00:00
Carlo Cavazzoni f79543aa83 Merge branch 'develop' of gitlab.com:QEF/q-e into develop 2019-09-06 12:57:51 +02:00
Paolo Giannozzi 8f0dae9315 Minor changes
1. parallelization on atoms in DFT-D2 made uniform with other cases
2. phonon check added: gamma_gama tricks and el-ph are incompatible
3. cleaning shell cleaned up
2019-09-05 21:56:22 +02:00
Paolo Giannozzi 322f6b2d6b Removal of unused variables 2019-08-21 09:51:27 +02:00
Carlo Cavazzoni 7ba7a73f0d Merge branch 'develop' of gitlab.com:QEF/q-e into develop 2019-08-13 23:19:41 +02:00
Paolo Giannozzi 9a3e1dc7b1 More I/O cleanup (or messup)
Routines filling xml objects: qexsd_init_*, with QE variables passed as
arguments, taken out from qexsd_module and moved to a separate qexsd_init
module in file Modules/qexsd_init.f90. In the process, some unused variables
have been removed and make.depend updated.
No true changes and no side effect expected, just some re-ordering.
There are still some qexsd_init_* routines that either follow a different
logic, or that are called inside routines in qexsd_module (notably: general,
parallel, timing info, MD steps) that write the xml file, or that contain
references to QE modules. These will be fixed sooner or later.
2019-08-12 12:39:12 +02:00
Carlo Cavazzoni 2013cbf5ed Merge branch 'develop' of gitlab.com:QEF/q-e into develop
Conflicts:
	LAXlib/make.depend
2019-08-10 18:54:58 +02:00
Carlo Cavazzoni 27adf6d690 - more disentanglement with LAXlib, quite some change inside LAXlib, still few outside.
Next we have to deal with the removal of the use descriptors stuff
2019-08-10 18:49:26 +02:00
Paolo Giannozzi 96cefd0402 Subspace size for Davidson diagonalization in phonon code reverted to 4:
reduction to 2 requires more though and experiments. Two fixes to comments.
2019-08-09 08:44:38 +02:00
Paolo Giannozzi 009d1ee32e Merge branch 'develop' of gitlab.com:QEF/q-e into myqe 2019-08-09 08:39:08 +02:00
giannozz c6809afe14 Merge branch 'xdmdynmat' into 'develop'
XDM contribution to the dynamical matrix in ph.x

See merge request QEF/q-e!553
2019-08-09 06:22:47 +00:00
Paolo Giannozzi fcfa0ad744 References to input_parameters removed for good in phonon. The solution is not
especially elegant (read values of nk1,nk2,nk3 etc are in control_ph) but this
time it should work.
2019-08-08 09:13:29 +02:00
Paolo Giannozzi ebbb788aa8 No need to add a new variable "isolveph" containing information on the
diagonalization for the phonon code: existing variable "isolve" does the job.
make.depend updated
2019-08-07 19:46:20 +02:00
giannozz 4744776b1b Merge branch 'phdiagopt' into 'develop'
Add diagonalization option to ph.x

See merge request QEF/q-e!554
2019-08-07 17:18:14 +00:00
Alberto Otero de la Roza 5fa03ffb80 reduce the amount of info written to the xdm.dat file 2019-08-07 15:10:19 +02:00
Carlo Cavazzoni 5fbc6ecc9c - LAXlib made independent from other module 2019-08-07 14:27:02 +02:00
Alberto Otero de la Roza 30d3806cbd merged the D2 (d2ionq_mm) and XDM (d2ionq_mm) code for the dynamical matrix contribution in ph.x (now: d2ionq_disp) 2019-08-07 14:24:38 +02:00
Alberto Otero de la Roza 43359b6fab merge with upstream/develop and resolve conflicts; warn instead of crash if vdw_corr not known 2019-08-07 12:08:26 +02:00
Alberto Otero de la Roza 8846383a5f resolved merge request conflict in PHonon/PH/phq_readin.f90, reading the &inputph namelist 2019-08-07 11:10:42 +02:00
Alberto Otero de la Roza 1ef3def9fe remove stale file 2019-08-06 22:19:17 +02:00
Alberto Otero de la Roza 54e5239530 add the diagonalization option to ph.x: allows changing the diagonalization method in the non-scf calcs 2019-08-06 00:55:15 +02:00
Alberto Otero de la Roza d2ceee84f7 some cleanup in PW's and PH's xdm 2019-08-05 23:42:19 +02:00
Alberto Otero de la Roza 631cc40f99 PW: have punch write the xdm.dat file in the tmp directory 2019-08-05 23:25:54 +02:00
Alberto Otero de la Roza cd5f3cac63 fix error in atom assignment to mpi ranks 2019-08-05 01:34:59 +02:00
Alberto Otero de la Roza 15dd69c9bd first implementation of the XDM contribution to the dyn. matrix in ph.x 2019-08-05 00:27:21 +02:00
Paolo Giannozzi efb97211c4 Unexpected side effects of removal of "input_parameters" in phonon:
it is used in an obscure and nonlocal way. Reverted for the time being.
Some more cleanupo here and there
2019-07-17 16:55:45 +02:00
Paolo Giannozzi 3143fe1f3f Missing initialization of arrays used in computation of dV_xc/d\rho might
cause strange crashes in spin-polarized phonon calculations.
In spite of a recent extensive review, the phonon makefile did not have all
needed dependencies in place: changes to Modules/ were ignored by "make ph"
2019-07-16 16:48:55 +00:00
Paolo Giannozzi 0c73b496bc Removal of USE input_parameters
Module input_parameters should be used ONLY to read input variables.
Once variables are read, they must be copied into QE modules and
input_parameters should be no longer used. Morever, input_parameters
is initialized ONLY when input is read, NOT when the data file is read.
2019-07-13 21:23:32 +02:00
Pietro Delugas 69f31ecffc fix ph.x in case qplot=.true. for gamma at iq/=1
when a ph.x  calculation for q=Gamma and this is not the first computed
q nscf calculation must be run. The temporary directories must treated
as for the other points in this case.
2019-06-28 11:26:22 +00:00
Paolo Giannozzi 89d431b60a Minor fixes 2019-06-11 16:33:57 +02:00
Paolo Giannozzi d9bbc5e1bf I/O cleanup: routines used to copy xml into QE variables moved to
Modules. They should replace all "readschema" routines in PW.
make.depend updated
2019-06-10 21:35:55 +02:00
Fabrizio Ferrari dfddf86119 init_xc removed except in funct.f90 and other adjustments 2019-06-10 16:00:23 +00:00
Paolo Giannozzi f9021b357b Minor cleanup + git test 2019-06-07 23:14:22 +02:00
giannozz a0f51ac547 Out-of-bound error when converting (tot,magn) to (up,down) rho.
Minor update to release notes
2019-06-06 12:52:16 +00:00
Fabrizio Ferrari b3fae27b20 A fix in PHonon/Gamma 2019-06-06 09:40:13 +00:00
Fabrizio Ferrari 9a5bc8d5a8 GGA vectorized and libxc functionals included 2019-06-04 07:26:24 +00:00
giannozz 1856833027 opt_tetra_partialdos frnspin=1
opt_tetra_partialdos should produce data with the same normalization as
opt_tetra_dos in the case nspin=1. Should fix issue #116.
2019-05-28 09:16:27 +02:00
giannozz edd58c0492 Revert "opt_tetra_partialdos should produce data with the same normalization as"
This reverts commit 09ed633b5f
2019-05-28 06:14:44 +00:00
Paolo Giannozzi 09ed633b5f opt_tetra_partialdos should produce data with the same normalization as
opt_tetra_dos in the case nspin=1. Should fix issue #32.
2019-05-28 08:07:40 +02:00
Paolo Giannozzi f13a280a3e Would-be fix (?) for bug in phonon code with LSDA and core corrections:
there was an out-of-bound error in dgradcorr. I am not sure I understand
the fix (I am actually sure I don't) but it gives the same "zue" and
"zeu" effective charges in a simple test and the same for LDA and LSDA
with no spin polarization. Also: ZDOTC => zdotc, because some machines
need to preprocess zdotc and replace it with the zdotc_wrapper
2019-05-24 21:36:13 +00:00
giannozz d860972620 [Skip-CI] Limitations of Gamma-only phonon code better specified
make.depend updated
2019-05-24 15:35:56 +02:00
fabrizio22 5e5884bf6a master updated 2019-05-08 12:08:43 +02:00
fabrizio22 09e9f103c0 Aligned with develop 2019-05-03 12:39:09 +02:00
Iurii Timrov 78f9bdaeb9 The input parameters (for restarting DFPT+U calculations) read_dns_bare
and d2ns_type were missing in the PH input namelist, and moreover they
were not broadcasted.
2019-04-22 16:46:54 +02:00
fabrizio22 4bea842a78 Aligned with develop 2019-04-17 17:53:04 +02:00
Paolo Giannozzi bd0e3e3e69 Phonon user guide updated 2019-04-17 09:19:42 +02:00
Paolo Giannozzi 46873f29ff make.depend updated 2019-04-17 09:17:17 +02:00
fabrizio22 120aaa15cf Aligned with develop 2019-04-12 10:27:38 +02:00
Paolo Giannozzi 5097e11ad8 Cleanup of unused stuff 2019-04-09 17:22:30 +02:00
fabrizio22 1a0fe694bf Aligned with develop 2019-04-09 12:11:23 +02:00
Paolo Giannozzi b31c60a629 Ooops ... phonon was broken by my last change
Added more explicit printout as suggested by Giovanni Cantele
2019-04-09 10:26:04 +02:00
Paolo Giannozzi 88ef346c79 More removal of ftau: now is a local variable, obtained from ft, where
useful (real-space symmetrization). Please verify!
2019-04-08 22:44:53 +02:00
Paolo Giannozzi 215a70b0c8 Variable "ftau" (fractional translations in FFT grid units) is a source
of dangerous confusion: the "true" fractional translations, in crystal
axis units, are in "ft". First batch of removals, notably from smallg_q
(where it was not used) and from code calling it. More will come soon.
Updated release checklist, fixed typo in README.md
2019-04-08 21:19:02 +02:00
fabrizio22 4ffd4040b1 Aligned with develop 2019-03-28 14:20:36 +01:00
Paolo Giannozzi 39747fdd08 The linking step for the Gamma phonon was done in a slighty different way from all
other cases: the main code was loaded into the library, while in all other cases it
is kept separate from the library. Not a big deal but some old gfortran complains
2019-03-28 12:41:51 +01:00
Pietro Delugas 2056ea85cb setting io_level=1 when reduce_io=.true.
in phq_readin.f90 io_level was set to 0 when reduce_io flag was set to
true in input but  io_level must be set to 1 otherwise phonon does not work.
2019-03-27 16:03:54 +01:00
fabrizio22 d6917bb0bc dmxc routines extracted from funct 2019-03-11 12:55:50 +01:00
fabrizio22 cfd2d4571a align with develop 2019-03-04 17:06:34 +01:00
fabrizio22 df10e23ed6 dmxc routines vectorized 2019-03-04 16:39:28 +01:00
Pietro Delugas 13b2fe1754 [Skip-CI] updating documentation pdf files 2019-03-04 13:55:13 +01:00
Tone Kokalj af580b5874 A few more changes so that "make gui" creates a functional PWgui. 2019-03-01 23:44:12 +01:00
Paolo Giannozzi 6ab7abb6f6 html and txt manuals updated 2019-03-01 18:00:27 +01:00
Paolo Giannozzi 6834a502ef [Skip-CI] Obsolete version 'svn' replaced by 'git'; various .PHONY of questionable
usefulness, referring to no longer existing procedure devised for svn, removed
2019-03-01 17:42:56 +01:00
Paolo Giannozzi 54531ea61c Merge branch 'develop' of gitlab.com:QEF/q-e 2019-02-28 19:32:38 +01:00
Pietro Delugas 958e1ca535 updating pdf files doc files 2019-02-28 18:46:00 +01:00
Paolo Giannozzi 2d909a8692 A few minor fixes to documentation 2019-02-28 17:11:21 +01:00
fabrizio22 57c0cbbfcc pdf restored 2019-02-28 16:28:58 +01:00
fabrizio22 2ec84f6edf some very small corrections 2019-02-28 15:54:53 +01:00
Paolo Giannozzi 9c46e623a6 In order to prefent further trouble, set_mpi_comm_4_solvers and its
counterpart unset_mpi_comm_4_solvers are called at the begining and
at the end of the same source, so that unset_etc_etc is never called
by mistake (I don't think it is really necessary to call it, actually,
it's just a good habit). Asymptotically set_etc_etc should be moved to
the source code where parallel diagonalization is performed.
2019-02-27 22:18:23 +01:00
Iurii Timrov 4ddc233800 Modified the documentation.
To make things safer, I added a note that HP and PHonon+U
are in the experimental stage. The codes work but they were
not tested in all possible 1001 cases...
2019-02-26 13:01:09 +01:00
Paolo Giannozzi 121edf52c8 [Skip-CI] ATOMIC_POSITIONS and CELL_PARAMETERS cards without units are
officially deprecated but there were several tests and examples using them
2019-02-23 22:45:29 +01:00
Paolo Giannozzi e7917e48a2 More cleanup of obsolete variables in examples 2019-02-22 22:20:39 +01:00
Lorenzo Paulatto 178b6b0f96 More bugfixes, syntax that xlf90 does not like:
1. FLUSH is an intrisic function
2. to continuate a string, you must end the firt line AND start the second with an '&'
3. missing comma in format string
2019-02-15 13:29:45 +00:00
Paolo Giannozzi 4e2bbabea3 Two different libraries with the same name (libcg.a)? not a good idea 2019-02-11 14:14:34 +01:00
Paolo Giannozzi 1f79f1f688 Some confusion with dependencies 2019-02-07 21:31:19 +01:00
Paolo Giannozzi cebb7c1765 Initialization of "ortho" (or "diag") group taken out from mp_startup routine. The reasons for this are
- to avoid unneeded dependencies: currently each and every code that initializes mpi depends upon LAXlib,
  including those that never diagonalize a matrix (e.g., ld1.x). This is completely ridiculous.
- to be free to choose the parallelization of linear algebra after data is read and metabolized.
  It used to be done like that some time ago, by the way.
IMPORTANT NOTICE: all codes that use parallelization of linear algebra MUST explicitly call mp_start_diag.
Currently this is done by: cp.x, pw.x, neb.x, ph.x, projwfc.x. All other codes cannot currently use linear
algebra parallelization (linear algebra will run on 1 processor).
2019-02-07 21:06:21 +01:00
Paolo Giannozzi b30bc8cc1d After recent removal of wf_collect, image parallelization for phonons was working
erratically, or not at all. Fixes issue #93 (or at least I hope so)
2019-02-01 21:31:52 +01:00
Paolo Giannozzi 00ff840eed More mp_global cleanup: PHonon, GWW 2019-01-31 22:09:24 +01:00
Paolo Giannozzi 11d764fddf Removal of obsolete lkpoint_dir variable 2019-01-28 22:26:32 +01:00
Paolo Giannozzi dc3ca5412f Merge branch 'develop' of gitlab.com:QEF/q-e into wfcollect
Conflict with unrelated commit removed, make.depend updated
2019-01-28 21:44:35 +01:00
Paolo Giannozzi da041348d1 twfcollect variable deleted. It is still mentioned here and there, still written
into xml files, listed among input variables, but it is never used and no longer
useful. In case, it is easy and quick to reintroduce it, in a less confusing way
2019-01-26 18:26:16 +01:00
Paolo Giannozzi 6451573ba8 A small compilation error that has resurfaced: two occurrences of "+" that some compilers don't like 2019-01-25 07:40:22 +01:00
Paolo Giannozzi 0566efd227 Some cleanup of the Gamma phonon code 2019-01-23 12:03:36 +01:00
fabrizio22 2f719d3046 merge master with develop 2019-01-22 11:54:40 +01:00
fabrizio22 af8c1ff355 merge master with develop 2019-01-22 11:13:56 +01:00
fabrizio22 9c87cf7106 full lsda rho conversion 2019-01-21 12:02:37 +01:00
Iurii Timrov 8d077e3f1f Bugfix related to the recent change in the logic of nspin=2.
Changed REAL to DBLE in several places for a higher precision.
2019-01-21 10:46:57 +01:00
Paolo Giannozzi 067c27a0e1 Cleanup after latest merge 2019-01-17 10:01:56 +01:00
giannozz 6019388cf0 Merge branch 'develop' into 'develop'
merge develop with new lsda

See merge request QEF/q-e!258
2019-01-16 20:17:01 +00:00
giannozz d1d4fbdb0b Merge branch 'requests' into 'develop'
bugfix

See merge request QEF/q-e!259
2019-01-16 15:10:51 +00:00
Lorenzo Paulatto (naquite) 3efbab61dd bugfix 2019-01-16 16:03:04 +01:00
fabrizio22 f3114d67e1 merge develop with rho_updw_mz 2019-01-14 11:40:47 +01:00
Samuel Ponce 7a0369fdc8 Bug in PH/dvqpsi_us
The variable ikk was used before being defined.
2019-01-11 17:38:28 +00:00
Iurii Timrov 6bb3eb6008 Bugfix in DFPT+U and HP: there was a small bug
when checking the number of states in the Hubbard
manifold (nwfcU). Thanks to Hao Zeng for reporting the issue.
2018-11-29 12:32:02 +01:00
Iurii Timrov c7d828019d Update the DFPT+U example after the bugfix. 2018-11-23 15:06:15 +01:00
Iurii Timrov bc8d9d9260 Bugfix in DFPT+U: the array wgg is real, not complex.
This bug was mistakenly introduced during ithe porting of DFPT+U
from QE 5.0.2 to the latest QE. Interestingly, this stupid bug
was found only when computing phononsi+U for bulk Fe using
Fe.pbe-spn-rrkjus_psl.0.2.1.UPF (the bug did not show up when using
e.g. fe_pbe_v1.5.uspp.F.UPF). The benchmark was done with the
frozen phonon approach using phonopy. Moreover, in other tests
(for bulk Si, Al, Ni) this bug also did not show up.
2018-11-23 14:32:42 +01:00
Iurii Timrov 112d8c6760 Minor changes in DFPT+U
1) DFPT+U with ortho-atomic orbitals is disables,
because it is more complicated than it was expected.
First, Hubbard forces in pw.x must be extended to ortho-atomic orbitals
and then DFPT+U must be reconsidered.
2) Update the reference files for example18 for DFPT+U
3) Various minor changes
2018-11-08 14:16:19 +01:00
Paolo Giannozzi 43c2c5b69b Miscellanous updates to documentation and dependencies; new checks in the
phonon code to prevent execution in non-implemented cases (NOT YET WORKING
because variables lxdm and dft_d3 are not properly set when file is read!);
removal of unused variables
2018-11-08 10:47:14 +01:00
Alberto Otero de la Roza 3afb67ac23 increase precision of phDOS output (frequency and total DOS) in matdyn.x 2018-11-05 16:16:13 +01:00
Iurii Timrov 52a67b19a5 1) Implementation of the PHonon+U code (A. Floris, S. de Gironcoli, E.K.U. Gross,
I. Timrov, B. Himmetoglu, N. Marzari, M. Cococcioni). The code was ported
from QE 5.0.2 to the latest version of QE, by I. Timrov with the help of
A. Floris and M. Cococcioni. Many thanks for the discussions with P. Giannozzi,
P. Delugas, A. Dal Corso, M. Calandra, L. Paulatto about various issues
during the porting. Sorry if I forgot to mention someone.
2) Some small modifications in the HP code in order to be consistent
with the porting of PHonon+U and changes in LR_Modules.
2018-10-30 16:20:32 +01:00
giannozz 240526cc33 Merge branch 'hp' into 'develop'
Implementation of the new code hp.x to compute Hubbard U from DFPT

See merge request QEF/q-e!164
2018-08-29 21:02:14 +00:00
Iurii Timrov 0bc76d8100 Implementation of the new code hp.x to compute Hubbard U from DFPT.
Iurii Timrov, Nicola Marzari, and Matteo Cococcioni,
Phys. Rev. B 98, 085127 (2018); arXiv:1805.01805
2018-08-29 14:54:42 +02:00
Paolo Giannozzi e90f03133e Following Uli Aschauer's example: uniform au to angstrom conversion constant 2018-08-23 22:09:15 +02:00
Paolo Giannozzi 6f7bbdf452 More Makefile cleanup: targets pwlibs, phlibs added in order to avoid much
uneeded relinking; the mysterious "tldeps" machinery modified accordingly;
added explicit dependencies to GWW targets to prevent (once again) problems
with make -j (seems to work now). make.depend updated (once again).
2018-08-21 17:14:04 +02:00
Paolo Giannozzi f3edd5884d Calculation of atomic rho in reciprocal space extracted from routine atomic_rho
Will be useful later. Some more cleanup: obsolete I/O variables moved into
soon-to-become obsolete routines
2018-08-16 16:29:04 +02:00
Stefano De Gironcoli d0ceafaf92 a single libks_solvers.a library is created.
Makefiles of the children codes are updated to use it.
2018-08-14 07:42:30 +02:00
Paolo Giannozzi c353e656f1 Some utility routines moved out from xml_io_base into io_files; useless
references to xml_io_base deleted. Now xml_io-base contains only obsolete
routines for reading and writing wfcs and rho, to be deleted soon.
2018-08-13 09:46:06 +02:00
Paolo Giannozzi d39682046d Merge branch 'develop' of gitlab.com:QEF/q-e into develop 2018-08-07 21:49:58 +02:00
Stefano de Gironcoli 97f68ff314 routine h_1psi renamed hs_1psi because this is what it does ! 2018-08-07 20:45:56 +02:00
Paolo Giannozzi f759fd5a79 Old-style I/O deleted. Everything should work as in 6.2 and 6.3 with default
options, but some codes that have not been updated, notably cppp.x and
bgw2pw.x, are broken for good; some exotic options may also be broken.
2018-08-07 19:43:21 +02:00
Stefano De Gironcoli 3c5389add6 more changes to add a ppcg option to c_bands.f90 diagonalization 2018-08-03 04:15:56 +02:00
Iurii Timrov 239bdc1a44 Moving some routines from PH to LR_Modules 2018-08-01 09:24:48 +00:00
Paolo Giannozzi 45fc53b530 Merge branch 'develop' of gitlab.com:QEF/q-e into develop 2018-07-18 18:04:37 +02:00
giannozz 54abe91aa3 Merge branch 'feature/RefactorWfcModuleName' into 'develop'
Rename module wavefunctions_module to wavefunctions

See merge request QEF/q-e!118
2018-07-18 15:58:00 +00:00
Paolo Giannozzi 19347413c5 Obsolete and misleading comment removed 2018-07-17 15:07:49 +02:00
Miguel Carvajal 68ee7b5e87 Rename module wavefunctions_module to wavefunctions 2018-07-12 16:11:48 +02:00
Paolo Giannozzi 7f32483fff IN all Makefiles, LIBS replaced by QELIBS, to prevent unlikely but not
impossible clashes with LIBS as defined by the OS or as used by the configure's
of external libraries (e.g. FoX, for which one such problem has been reported)
2018-07-11 19:58:41 +02:00
Paolo Giannozzi a929525d7b No valid reason to re-defined IFLAGS inside Makefiles 2018-07-04 16:42:12 +02:00
Samuel Ponce 73371a59c5 Improved robustness of EPW (S. Ponce and C. Verdi)
Explaintion:
The Wigner-Seitz construction in EPW was done by constructing a cell
centred unit cell. This is fine for electronic properties (this is what is done in wannier90).
However for phonon or electron-phonon properties, one can have issues when the cell
is tilded for example.
The proper way is to construct a set of WS vectors centred on pairs of atoms (phonons)
or atoms (el-ph).
In the matdyn code, a FT grid is constructed with weigths centred on pairs of atoms
and zeros everywhere else.
EPW now reproduced exactly the results of matdyn for the interpolated phonons at a
lower computation cost. Indeed we minimize the number of zeros by keeping the union
of values between all the cells.
In both cases this is very fast anyway but is important for el-ph properties.

A Wigner module was created to deal with this.

In addition, the subroutine cdiagh2 from PHonon/PH/rigid.f90 has been made public to
avoid code duplication in EPW
2018-07-01 12:12:38 +01:00
Pietro Delugas 0898e563d4 updated dates on user_guides 2018-06-29 17:49:14 +02:00
Pietro Delugas 57e83c2a93 removed "-IFLAG=" from Makefiles
the IFLAG obtained from configure is now imported from make.inc to
Makefiles of PHonon and PP source directories.
2018-06-29 14:13:15 +02:00
giannozz 4fb1d4e998 Merge branch 'fix_xkstarting' into 'develop'
fix in case of lgamma ph computation with collected wavefunctions

See merge request QEF/q-e!100
2018-06-29 05:38:22 +00:00
Pietro Delugas cff9b833bc fix in case of lgamma ph computation with collected wave
functions

in case the starting computation has been done twfcollect=.true.
run_nscf saves the wave functions in tmp_dir_phq and not in tmp_dir.
We have to find a way to have them in the same place in both cases.
Not now because release is tomorrow (29 june 2018).
Dirty fix if open_buffer fails in tmp_dir go back to tmp_dir_phq and try
again.
2018-06-28 19:23:00 +02:00
Paolo Giannozzi 696ed9571f make.depend updated 2018-06-28 19:06:54 +02:00
Paolo Giannozzi 8458bf0e81 Minor updates to examples 2018-06-28 16:44:22 +02:00
Pietro Delugas c73dd9dcd8 when twfcollect is false ph do not revert to scf dir for lgamma case. 2018-06-27 18:31:05 +02:00
Paolo Giannozzi ae635622db Added compiled documentation files in *.pdf. *txt, *html format.
Since github and gitlab just distribute a snapshot of the git repository,
these files must be in the repository as well. NOTA BENE:
All changes MUST GO TO *.tex or *.def FILES, NOT to these files!
Also note that the "make doc" machinery produces also *.xml files and
latex2html converted html versions of latex files. I don't think they belong
to the repository (latex files should maybe be replaced by md files)
2018-06-22 17:41:44 +02:00
Samsonidze Georgy (CR/RTC2.2-NA) b77613de7a EPA method. 2018-06-13 13:13:46 -07:00
Lorenzo Paulatto (naquite) 3e3b8bf12c Trying to disable XML dynamical matrix without adding any more changes 2018-06-11 11:14:34 +02:00
Lorenzo Paulatto (naquite) 300d18b41d Stop forcing XML dynamical matrix when using GGA with non-colinear magnetization 2018-06-11 11:08:47 +02:00
Paolo Giannozzi 71a61c005d make.depend updated 2018-05-28 18:31:21 +02:00
Paolo Giannozzi 7fe403528b Again cleanup of / everywhere. Reminder: directory names must have a / (or a \)
at the end; to that purpose, function trimcheck can be used
2018-05-28 10:47:56 +02:00
Paolo Giannozzi 4e252e6947 Some more cleanup of / and \ 2018-05-28 09:58:35 +02:00
giannozz d4e43418a1 Merge branch 'develop' into 'develop'
Misc changes for compilation and execution on WIndows

See merge request QEF/q-e!67
2018-05-27 17:36:37 +00:00
Paolo Giannozzi 09bd1dfe4b Some more fixes for I/O in Windows 2018-05-27 19:34:55 +02:00
giannozz adf683b672 Merge branch 'develop' into 'develop'
Some iotk removal, Makefile simplified

See merge request QEF/q-e!64
2018-05-16 04:57:52 +00:00
Paolo Giannozzi 042bbe5449 Simplified Makefiles: removed uneeded "touch-dummy" targets.
May still need some tweaking and the addition of .PHONY directive in Makefile
2018-05-15 21:50:31 +02:00
Paolo Giannozzi 5cb72fd2ef Fixes for two potential out-of-bound errors - Mitsuaki Kawamura 2018-05-15 14:03:33 +02:00
Paolo Giannozzi fdc299d023 Missing initialization to false of new variable loto_2d broke dynmat.x 2018-03-19 20:43:22 +01:00
Paolo Giannozzi 99515484f3 Some general-purpose routines for file and directory handling:
create_directory, check_tempdir, check_file_exist, clean_tempdir,
moved from input.f90 or xml_io_base into module "io_files"
2018-03-14 21:23:26 +01:00
Paolo Giannozzi da290b9cad Cleanup of unused or avoidable fixed dimension nsx, make.depend updated 2018-03-02 18:37:09 +01:00
Paolo Giannozzi 94c6e16d1e Atom-projected phonon DOS in matdyn.x; minor changes to the format of file
containing Eliashberg functions to allow plotting with gnuplot for each mode
separately. Contributed by Mitsuaki Kawamura. Note: uses a fixed format with
a lot of fields (1000) per line.
2018-02-23 13:59:41 +01:00
Paolo Giannozzi 44641d1f43 Cleanup: make.depend, example 12 2018-01-25 09:54:01 +01:00
Paolo Giannozzi 329ebb9def More harmonization of gradient routines: Gamma tricks to spare a FFT,
use internal variable dft%lgamma instead of global variable gamma_only
(in the future they might have a slightly different meaning), obsolete
routines removed. To be done: CP
2018-01-24 18:18:15 +01:00
Paolo Giannozzi ab045ac8e0 Added GGA case to normal-mode calculation with phcg.x, example12 2018-01-23 10:46:22 +01:00
Paolo Giannozzi 878ac93365 More gradient cleanup (to be completed by porting Gamma tricks into gradutils) 2018-01-21 21:43:07 +01:00
Paolo Giannozzi 663e3f1d69 Two more routines computing gradients collected into gradutils, duplicated
versions deleted: "fft_qgradient" and "fft_qgraddot". These are the versions
of fft_gradient_r2r and fft_graddot for complex arrays with exp(iqr) behavior,
fr usage in the phonon code (gradient of Delta rho at finite q). Note that in
phonon, indices of drho_gradient have been reversed as well in vdW-DF routines,
and that the call to dgradcorr has been changed (dfftp is passed as argument)
2018-01-18 15:08:46 +01:00
Paolo Giannozzi 723dc4ef40 Routine "gradrho" moved to gradutils, with new name "fft_gradient_g2r",
while previous "fft_gradient" becomes "fft_gradient_r2r".
Routine "grad_dot" moved to gradutils, with new name "fft_graddot" and
removal of useless variable in the list of argument.
2018-01-16 22:13:52 +01:00
Paolo Giannozzi fdbe1f8153 Just in case: better to disable phonons with meta-GGA 2018-01-16 18:29:18 +01:00
Paolo Giannozzi cc988c0fe2 Functions gradrho and grad_dot made uniform with other similar routined. 2018-01-15 21:41:21 +01:00
Stefano de Gironcoli cd2e99c523 Merge branch 'master' of https://gitlab.com/QEF/q-e
Conflicts:
	PW/src/sum_band.f90
2018-01-10 14:58:38 +01:00
Stefano de Gironcoli 4c4c93c257 define a generic interface for fft_interpolate and move the correspondig routine to FFTXlib 2018-01-08 23:02:08 +01:00
Paolo Giannozzi 9af0317f8d Once again, a problem with modules in Makefiles. In order to simplify things,
after the proliferarion of modules and libraries, I have collected into a
single variable BASEMOD_FLAGS, defined in make.inc, the list of directories
for modules, to be included by all codes. IMPORTANT NOTICE: re-run "configure",
the new Makefiles work in conjunction with the new make.inc
2018-01-08 22:28:48 +01:00
Stefano de Gironcoli 9ed8602b5a mispelled variable desc$have_task_groups corrected to desc%has_task_group 2018-01-03 01:38:48 +01:00
Stefano de Gironcoli 407a1c444a routine cinterpolate replaced by fft_interpolate_complex
similar to fft_interpolate_real
2018-01-03 00:50:24 +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
Paolo Giannozzi d6ff342a29 Cleanup: release-notes and make.depend updated, a few commented lines and
useless routine deallocate_gvecs deleted
2017-12-26 19:42:09 +01:00
Carlo Cavazzoni ff2acccb53 nl indexes now in fft type 2017-12-24 15:49:02 +01:00
Carlo Cavazzoni c23a49e7f9 nl indexes now in fft type 2017-12-24 15:43:44 +01:00
Paolo Giannozzi 8c4a92cdc5 Second copy of "set_bgrp_index" replaced by generic routine "divide" 2017-12-23 22:28:53 +01:00
Lorenzo Paulatto 1d8654b673 Revert "I do not like to use xml dyn mat"
This reverts commit 78e8854289
2017-12-14 10:16:51 +00:00
Lorenzo Paulatto (naquite) 710336fc70 Avoid printing the q attached to the number 2017-12-13 14:33:04 +01:00
Lorenzo Paulatto (naquite) 78e8854289 I do not like to use xml dyn mat 2017-12-12 17:23:23 +01:00
giannozz fda42b8045 Added new version of pw2gw with documentation (Olivia Pulci, Davide Grassano,
Adriano Mosca Conte); version number in documentation updated. Maybe ready?


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@14038 c92efa57-630b-4861-b058-cf58834340f0
2017-12-11 10:41:41 +00:00
giannozz 34be634901 Ooops ...
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@14036 c92efa57-630b-4861-b058-cf58834340f0
2017-12-10 16:32:52 +00:00
giannozz 587c5771eb Minor final details
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@14035 c92efa57-630b-4861-b058-cf58834340f0
2017-12-09 21:35:25 +00:00
pietrodelugas 82cb20b366 in new xml format qnorm is not written the xml file any more in case of restart and it must be initialized again before calling read_file which also does allocations
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@14034 c92efa57-630b-4861-b058-cf58834340f0
2017-12-09 20:52:54 +00:00
giannozz 6712a70407 Added fix for phonon restart with tetrahedra (Mitsuaki Kawamura),
release-notes and release script updated for would-be v.6.2.1.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@14029 c92efa57-630b-4861-b058-cf58834340f0
2017-12-08 08:51:22 +00:00
giannozz 96120c0b1c Simple q2r.x wasn't working any longer due to bad initialization of a file name
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@14002 c92efa57-630b-4861-b058-cf58834340f0
2017-11-20 14:32:22 +00:00
giannozz d93cbbb7fc Electron-phonon case was not reading its own files for ibrav=0
Minor documentation and make.depend updated


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13999 c92efa57-630b-4861-b058-cf58834340f0
2017-11-18 08:21:50 +00:00
giannozz e67dd36163 Ooops ... forgot to add this file
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13998 c92efa57-630b-4861-b058-cf58834340f0
2017-11-16 06:40:56 +00:00
giannozz bbcf3f1195 q2r.f90 split sothat it can be directly called by "matdyn" (Sasha Fonari)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13997 c92efa57-630b-4861-b058-cf58834340f0
2017-11-15 14:15:45 +00:00
giannozz 3bc6b908ae Missing documentation added, minor updates to phonon documentation
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13987 c92efa57-630b-4861-b058-cf58834340f0
2017-11-10 15:10:54 +00:00
giannozz 4747ccf1ee Yet Another Misspelled Name
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13968 c92efa57-630b-4861-b058-cf58834340f0
2017-10-28 13:28:01 +00:00
giannozz 478ef50535 More documentation updates: misspells, acknowledgents, new reference added
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13967 c92efa57-630b-4861-b058-cf58834340f0
2017-10-28 13:26:03 +00:00
giannozz ecf9879a1e Dopcumentation update: acknowledgments for DFT-D3, new developments
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13966 c92efa57-630b-4861-b058-cf58834340f0
2017-10-28 13:05:59 +00:00
paulatto adf74ca151 Example updated to use standard pseudo from quantum-espresso.org instead of one from theos
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13958 c92efa57-630b-4861-b058-cf58834340f0
2017-10-26 07:06:05 +00:00
giannozz 6c45539bb4 Misc spelling errors
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13957 c92efa57-630b-4861-b058-cf58834340f0
2017-10-25 20:08:57 +00:00
paulatto 9e337f3ba9 New code to compute total energy and phonons in 2D materials by enforcing 2D periodic boundary conditions. Inter-layer Coulomb interaction is truncated. Vacuum space need to be larger than the layer size. Also check phonon example17 and input documentation.
Developed by Thibault Sohier, Matteo Calandra, Francesco Mauri



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13952 c92efa57-630b-4861-b058-cf58834340f0
2017-10-25 10:40:59 +00:00
giannozz d32797e39f More problems with "grid" execution of phonon fixed
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13941 c92efa57-630b-4861-b058-cf58834340f0
2017-10-20 21:03:17 +00:00
giannozz 36ed849fa7 Problem with phonon "grid" calculation due to change of xml file name;
restore check on allocation of xk_start and wk_start to prevent problems
with phonon; cleanup


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13938 c92efa57-630b-4861-b058-cf58834340f0
2017-10-19 16:04:07 +00:00
giannozz ea5d10f0f1 calculation of 2nd-order electric field was very broken due to a bad call
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13931 c92efa57-630b-4861-b058-cf58834340f0
2017-10-17 20:30:46 +00:00
marsamos 720068fbbf Makefile for PHonon with dft-d3 paths
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13911 c92efa57-630b-4861-b058-cf58834340f0
2017-10-13 18:18:09 +00:00
giannozz eb25b063cb Reference to QE paper moved to a single file
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13884 c92efa57-630b-4861-b058-cf58834340f0
2017-09-28 12:14:17 +00:00
giannozz a756f96b8e Machinery for updated version.f90 simplified; references to obsolete D3 code
removed; packaging script simplified and updated


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13866 c92efa57-630b-4861-b058-cf58834340f0
2017-09-26 11:24:45 +00:00
giannozz 00970447e8 Version number moved to 6.2, with caveat that documentation is only
partially up to date


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13852 c92efa57-630b-4861-b058-cf58834340f0
2017-09-24 20:17:34 +00:00
dalcorso 396f970ea9 Low_directory_check flag was not active.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13846 c92efa57-630b-4861-b058-cf58834340f0
2017-09-18 08:29:20 +00:00
degironc f39cd93933 make.depend update
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13823 c92efa57-630b-4861-b058-cf58834340f0
2017-09-03 14:52:57 +00:00
degironc 0169029e6f first example of PHonon works also with -nb > 1
band parallelization is not really exploited but the numbers are correct



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13818 c92efa57-630b-4861-b058-cf58834340f0
2017-09-01 15:39:11 +00:00
degironc 294d14f867 when allocating fft again in a nscf run
the nyfft variable must be provided as done in the scf case.
compiles and run.
parallelization with task_group and/or bands not working in some cases



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13807 c92efa57-630b-4861-b058-cf58834340f0
2017-08-31 08:39:47 +00:00
giannozz 3158fd4c65 DFPT + tetrahedra, bug fixes:
* PHonon/PH/prepare_q.f90
  dfpt_tetra_linit should be initialized here for the multi-q
  computation including Gamma point.
* PP/src/fermisurfer_common.f90
  The routine computing equivalent k-points was incorrect for
  body/face/base-centered lattice with nk1/=nk2/=nk3.
Extensions:
* Electron-phonon + tetrahedra works with q2r.x
* matdyn.f90 computes also \omega_ln
(Mitsuaki Kawamura)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13806 c92efa57-630b-4861-b058-cf58834340f0
2017-08-30 14:42:22 +00:00
giannozz a6e197099e dependencies updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13790 c92efa57-630b-4861-b058-cf58834340f0
2017-08-28 10:20:06 +00:00
ccavazzoni 66055cd9eb - use helper function in place of an explicit reference to type member
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13786 c92efa57-630b-4861-b058-cf58834340f0
2017-08-26 16:55:59 +00:00
giannozz 43f8062c8c Final cleanup of check_stop machinery - only real change in the end:
max_seconds is stored into module check_stop and no longer in input_parameters


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13774 c92efa57-630b-4861-b058-cf58834340f0
2017-08-25 09:51:34 +00:00
giannozz 13bc176af5 More check_stop / max_seconds / input_parameters cleanup
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13769 c92efa57-630b-4861-b058-cf58834340f0
2017-08-24 20:09:25 +00:00
dalcorso 7d8b85d09f The tensors file was not collected.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13690 c92efa57-630b-4861-b058-cf58834340f0
2017-08-05 09:23:50 +00:00
degironc 3e6b4f8e76 MAJOR restructuring of the FFTXlib library
In real space processors are organized in a 2D pattern.

Each processor owns data from a sub-set of Z-planes and a sub-set of Y-planes.
In reciprocal space each processor owns Z-columns that belong to a sub set of
X-values. This allows to split the processors in two sets for communication
in the YZ and XY planes.
In alternative, if the situation allows for it, a task group paralelization is used
(with ntg=nyfft) where complete XY planes of ntg wavefunctions are collected and Fourier
trasnformed in G space by different task-groups. This is preferable to the Z-proc + Y-proc
paralleization if task group can be used because a smaller number of larger ammounts of 
data are transferred. Hence three types of fft are implemented: 
 
  !
  !! ... isgn = +-1 : parallel 3d fft for rho and for the potential
  !
  !! ... isgn = +-2 : parallel 3d fft for wavefunctions
  !
  !! ... isgn = +-3 : parallel 3d fft for wavefunctions with task group
  !
  !! ... isgn = +   : G-space to R-space, output = \sum_G f(G)exp(+iG*R)
  !! ...              fft along z using pencils        (cft_1z)
  !! ...              transpose across nodes           (fft_scatter_yz)
  !! ...              fft along y using pencils        (cft_1y)
  !! ...              transpose across nodes           (fft_scatter_xy)
  !! ...              fft along x using pencils        (cft_1x)
  !
  !! ... isgn = -   : R-space to G-space, output = \int_R f(R)exp(-iG*R)/Omega
  !! ...              fft along x using pencils        (cft_1x)
  !! ...              transpose across nodes           (fft_scatter_xy)
  !! ...              fft along y using pencils        (cft_1y)
  !! ...              transpose across nodes           (fft_scatter_yz)
  !! ...              fft along z using pencils        (cft_1z)
  !
  ! If task_group_fft_is_active the FFT acts on a number of wfcs equal to 
  ! dfft%nproc2, the number of Y-sections in which a plane is divided. 
  ! Data are reshuffled by the fft_scatter_tg routine so that each of the 
  ! dfft%nproc2 subgroups (made by dfft%nproc3 procs) deals with whole planes 
  ! of a single wavefunciton.
  !

fft_type module heavily modified, a number of variables renamed with more intuitive names 
(at least to me), a number of more variables introduced for the Y-proc parallelization.

Task_group module made void. task_group management is now reduced to the logical component
 fft_desc%have_task_groups of fft_type_descriptor type variable fft_desc.

In term of interfaces, the 'easy' calling sequences are

SUBROUTINE invfft/fwfft( grid_type, f, dfft, howmany )

  !! where:
  !! 
  !! **grid_type = 'Dense'** : 
  !!   inverse/direct fourier transform of potentials and charge density f
  !!   on the dense grid (dfftp). On output, f is overwritten
  !! 
  !! **grid_type = 'Smooth'** :
  !!   inverse/direct fourier transform of  potentials and charge density f
  !!   on the smooth grid (dffts). On output, f is overwritten
  !! 
  !! **grid_type = 'Wave'** :
  !!   inverse/direct fourier transform of  wave functions f
  !!   on the smooth grid (dffts). On output, f is overwritten
  !!
  !! **grid_type = 'tgWave'** :
  !!   inverse/direct fourier transform of  wave functions f with task group
  !!   on the smooth grid (dffts). On output, f is overwritten
  !!
  !! **grid_type = 'Custom'** : 
  !!   inverse/direct fourier transform of potentials and charge density f
  !!   on a custom grid (dfft_exx). On output, f is overwritten
  !! 
  !! **grid_type = 'CustomWave'** :
  !!   inverse/direct fourier transform of  wave functions f
  !!   on a custom grid (dfft_exx). On output, f is overwritten
  !! 
  !! **dfft = FFT descriptor**, IMPORTANT NOTICE: grid is specified only by dfft.
  !!   No check is performed on the correspondence between dfft and grid_type.
  !!   grid_type is now used only to distinguish cases 'Wave' / 'CustomWave' 
  !!   from all other cases
                                                                                                 

Many more files modified.




git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13676 c92efa57-630b-4861-b058-cf58834340f0
2017-08-01 20:31:02 +00:00
degironc 3c6ad6d0d2 commit 13528 ("Cleanup. IMPORTANT NOTICE: the "collected" format is now the default")
broke PH/examples/example14 because of the involuted way twfcollect and tmp_dir_phq 
interact in the phonon code. 
variable wf_collect=.false. defined in input so that the code avoids the confusion 
and other changes can be tested. 
Problem still to be fixed properly.



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13671 c92efa57-630b-4861-b058-cf58834340f0
2017-08-01 10:02:01 +00:00
degironc 240e4def76 call to ccgdiagg was not updated to the new argument list.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13670 c92efa57-630b-4861-b058-cf58834340f0
2017-08-01 00:02:09 +00:00
degironc 4636bca635 KS_Solvers directory has been created with three subdirectories:
KS_Solvers/CG, KS_Solvers/Davidson, KS_Solvers/Davidson_RCI.
Two are currently used by QE, the third one implements the Davidson
diagonalization within the Reverse Communication Interface paradigm,
courtesy of Micael Oliveira.

KS_Solvers routines depend only on lower level libraries, notably UtilXlib, 
LAXlib, (SCA)LAPACK, and BLAS.

reorganization can be improved. For instance some duplicated routines like
cdiaghg and rdiaghg could/should be moved in LAXlib. This could reduce the need
to include  KS_Solvers directories in the link step of many codes.    

Minimal changes to calling sequence have been made, essentially just adding
h_psi,s_psi,g_psi and h_1psi,s_1psi routines names as arguments (with a
specific calling sequence ihardcode inside the routines that agree with PWSCF one). 
This could be avoided adopting the RCI paradigm.

Compiled in serial and parallel, 177/182 pw tests passed (3 that were failing 
even before on my laptop pw-berry, pw-langevin, pw-pawatom + 2 unknown==not tested), 
12 /17 cp tests passed (some o2-us-para-pbe-X fail but the same was for the 
original version)

I assume the modified calling procedure is working and the problem lies somewhere else.
 
Randomly tested some examples in pw, ph, pwcond and it seams to work.

Please report any problem.





git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13644 c92efa57-630b-4861-b058-cf58834340f0
2017-07-29 12:19:19 +00:00
degironc 7fd27ba0ad UtilXlib directory created to contain a library (libutil.a) for
basic operations: error handling, timing clocks, interfaces to basic mpi 
calls, find free units...
These routines are moved from Modules and dependencies to other modules
are removed. 

MANY files are updated to comply with the move.



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13629 c92efa57-630b-4861-b058-cf58834340f0
2017-07-26 11:15:20 +00:00
sponce 47a566b881 Slightly change the format of the ouput of lambda
for easiness in the test-farm. 



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13622 c92efa57-630b-4861-b058-cf58834340f0
2017-07-25 10:26:52 +00:00
degironc e1d6b18de9 more changes at the smmothing of beta- and q-funcions
US variable qq renamed qq_nt and a new variable qq_na added
because in real space the integral may depend (slightly) on
the atomic position and an atomic value is needed to compute
exactly normalizable wfc.  
Whenever realspace tricks are not used  qq_nt is used.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13604 c92efa57-630b-4861-b058-cf58834340f0
2017-07-15 23:16:18 +00:00
giannozz 8807b359ae Documentation missing input variable - may or may not be correct
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13557 c92efa57-630b-4861-b058-cf58834340f0
2017-06-09 07:39:02 +00:00
giannozz 0a3425c3cc npw should no longer ne used as global variabe
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13530 c92efa57-630b-4861-b058-cf58834340f0
2017-05-25 14:08:31 +00:00
giannozz 99b1ddbee0 Merge of read_rho between CP and PW, but no change of format yet.
NOTE: directory names should always end with "/"


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13504 c92efa57-630b-4861-b058-cf58834340f0
2017-05-10 17:38:56 +00:00
giannozz 415527d8ef Beginning of cleanup for charge density I/O: PW-specific routines separated
from generic one. read/write_rho => read/write_scf for structure rho.
read/write_rho_only => read/write_only, moved to Modules/xml_io_base.f90.
Nothing substantial, but beware side effects


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13502 c92efa57-630b-4861-b058-cf58834340f0
2017-05-09 20:04:16 +00:00
giannozz 44d31e4709 Module pwcom should not contain references to other modules
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13498 c92efa57-630b-4861-b058-cf58834340f0
2017-05-08 15:26:53 +00:00
giannozz 2232a7f922 Variable used exclusively for the case of external fields moved to a new module
"extfields"; make.depend updated. Just a cleanup, nothing relevant.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13494 c92efa57-630b-4861-b058-cf58834340f0
2017-05-06 15:17:19 +00:00
giannozz 308d3bc06b Missing continuation line
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13484 c92efa57-630b-4861-b058-cf58834340f0
2017-05-03 07:47:51 +00:00
giannozz 84a17d0b55 Leftover copy of a routine moved into LR_Modules/ deleted
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13482 c92efa57-630b-4861-b058-cf58834340f0
2017-05-01 19:42:34 +00:00
dalcorso 3e0524543b Zeu + nlcc + gga + norm conserving PPs was not implemented.
(Thanks to Vineet Kumar Pandey for signaling the problem).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13481 c92efa57-630b-4861-b058-cf58834340f0
2017-05-01 17:35:45 +00:00
dalcorso 128ca049a4 Bug fix: zeu + nlcc + gga had a small error in the US case.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13474 c92efa57-630b-4861-b058-cf58834340f0
2017-04-27 15:38:08 +00:00
giannozz e7c6882c57 Obsolete calls to rotate_mod in obsolete.f90 (courtesy Mark Filipiak)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13467 c92efa57-630b-4861-b058-cf58834340f0
2017-04-12 17:51:58 +00:00
paulatto efc1ea5cd9 bugfix, unallocated variables where accessed (but not really used) in the parallel case
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13450 c92efa57-630b-4861-b058-cf58834340f0
2017-03-31 14:17:35 +00:00
paulatto 6d37477c0e New version of the subroutine to rotate drho or dvscf in real space (in the most stupid way, i.e.e by doing a global gather).
This version rotates the pattern to the one of the final q-point, instead of recomputing, which works around oddities of set_irr and company subroutines (i.e. using global variables, calling mp_bcast..)



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13441 c92efa57-630b-4861-b058-cf58834340f0
2017-03-28 08:20:06 +00:00
paulatto 8283cfe94f Documentation about fildrho, fildvscf updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13440 c92efa57-630b-4861-b058-cf58834340f0
2017-03-28 06:34:31 +00:00
giannozz 19e042b175 More utilities using the optimized tetrahedron method of Mitsuaki Kawamura
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13432 c92efa57-630b-4861-b058-cf58834340f0
2017-03-22 21:47:02 +00:00
giannozz a3481dcfb6 Forgotten reference to vanished module
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13429 c92efa57-630b-4861-b058-cf58834340f0
2017-03-22 20:46:09 +00:00
paulatto 885581d61a using normal random numbers from random_numbers instad of redoing them in place
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13428 c92efa57-630b-4861-b058-cf58834340f0
2017-03-22 16:04:01 +00:00
paulatto a70380a996 Generate the random matirx using normal-distriuted numbers, instead of uniformly-distributed one. It shoud have eigenvalues that are more uniformly spaced
I've been using this version for years without problems, and I know it has solved a few cases of "wrong representation"

Please report if it gives the wrong modes for any input.




git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13421 c92efa57-630b-4861-b058-cf58834340f0
2017-03-22 08:59:15 +00:00
spigafi c6b017fad2 Getting ready for v6.1
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13319 c92efa57-630b-4861-b058-cf58834340f0
2017-02-18 18:37:10 +00:00
giannozz 464a9a2062 More cleanup of double-precision complex that weren't. In the vast majority
of cases, there is no difference and it's just aesthetic, but in some cases 
a tiny error may have been corrected - please verify


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13316 c92efa57-630b-4861-b058-cf58834340f0
2017-02-17 14:10:00 +00:00
pietrodelugas 2db25e7414 update of reference data for PHonon examples
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13288 c92efa57-630b-4861-b058-cf58834340f0
2017-02-07 14:07:15 +00:00
giannozz 7d17e1e684 Check on consistency between symmetries and FFT grids moved from the routine
computing symmetries into a separate routine called after the first one. 
Everything should work exactly the same as before. This is just a preliminary
step towards automatic parallelization. Next step: force the FFT grids to be 
commensurate with symmetries and not vice versa. 


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13265 c92efa57-630b-4861-b058-cf58834340f0
2017-01-21 22:21:37 +00:00
giannozz 1695899967 Phonon part pf last commit was missing!
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13229 c92efa57-630b-4861-b058-cf58834340f0
2017-01-08 14:38:26 +00:00