Commit Graph

615 Commits

Author SHA1 Message Date
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
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 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 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 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 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
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
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
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
giannozz 9d90e15323 Old tetrahedra-related routines moved into ktetra module with new names
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13217 c92efa57-630b-4861-b058-cf58834340f0
2016-12-29 14:14:38 +00:00
giannozz 435e3fae31 Optimized tetrahedra for DFPT, contributed by Mitsuaki Kawamura
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13210 c92efa57-630b-4861-b058-cf58834340f0
2016-12-23 12:49:16 +00:00
giannozz 3dce174c0d Module "ktetra" taken out of pwcom.f90 in view of some additions coming.
Variable "ltetra" moved to common "klist" together with all other variables
setting occupations. All make.depend updated. Should be harmless.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13204 c92efa57-630b-4861-b058-cf58834340f0
2016-12-21 14:23:06 +00:00
giannozz 8be556a13f Unused variable removed from call
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13203 c92efa57-630b-4861-b058-cf58834340f0
2016-12-21 13:24:34 +00:00
giannozz 82082990fd List of capabilities updated (no warranty it is updated in the proper way)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13202 c92efa57-630b-4861-b058-cf58834340f0
2016-12-19 14:44:09 +00:00
giannozz d5d873a27f Cleanup, removal of commented sections
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13173 c92efa57-630b-4861-b058-cf58834340f0
2016-11-23 08:08:44 +00:00
giannozz 2915d11de3 Some more misc cleanup
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13115 c92efa57-630b-4861-b058-cf58834340f0
2016-10-23 20:51:27 +00:00
giannozz 40f289167b Minor cleanup of symmetry routines:
1) the dependency upon module "extfield" via recently introduced "monopole" 
   variable made explicit in the call, with an optional variable
2) the code doesn't stop any longer in case it doesn't manage to find
   symmetries, it just issue a warning, removes symmetry and proceeds
Should be harmless but please check. All make.depend files updated.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13114 c92efa57-630b-4861-b058-cf58834340f0
2016-10-23 19:40:46 +00:00
dceresoli fa4c7f0904 Bug fix for FD + LO-TO phonons.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13109 c92efa57-630b-4861-b058-cf58834340f0
2016-10-13 12:53:26 +00:00
giannozz 3722216d93 Unused routine h_psiq removed
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13100 c92efa57-630b-4861-b058-cf58834340f0
2016-10-09 20:36:06 +00:00
dalcorso 3a8e4a31e0 Some improvement in the symmetry analysis of the bands and of the modes.
Previous version might have problems with complex representations.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13094 c92efa57-630b-4861-b058-cf58834340f0
2016-10-06 08:06:30 +00:00
dalcorso c4accce747 Band symmetry analysis and mode symmetry analysis can be done in a few
more cases than previously thought.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13090 c92efa57-630b-4861-b058-cf58834340f0
2016-10-05 17:09:43 +00:00
spigafi f0012608ea Minor changes, mostly to cope with 'make -j'
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13051 c92efa57-630b-4861-b058-cf58834340f0
2016-10-01 17:12:37 +00:00
giannozz 4b58e1a920 While waiting for better ideas, disable buggy calculation of dvscf files
with image parallelization


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13036 c92efa57-630b-4861-b058-cf58834340f0
2016-09-28 19:42:32 +00:00
spigafi 441f121b0c ifdef preprocessor macro refactoring (PHonon package)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12962 c92efa57-630b-4861-b058-cf58834340f0
2016-09-14 20:20:07 +00:00
giannozz b5fa8cd174 Cleanup of pool operations: a general-purpose routine "poolcollect" replaces
various specially taylored routines. Please report any anomaly in k-point 
parallelization (there shouldn't be any, but who knows).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12891 c92efa57-630b-4861-b058-cf58834340f0
2016-08-31 14:10:56 +00:00
giannozz 22848786c6 Updated i-PI interface, minimal documentation, updates to make.depend files
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12852 c92efa57-630b-4861-b058-cf58834340f0
2016-08-26 16:08:25 +00:00
giannozz 7ce7d161bf Makefile simplification: TOPDIR is used to define the same LIBOBJS everywhere.
In case of trouble, see instruction in the make.inc file.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12840 c92efa57-630b-4861-b058-cf58834340f0
2016-08-25 19:27:31 +00:00
giannozz b665a82f15 More removal of unused or useless I/O variables
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12822 c92efa57-630b-4861-b058-cf58834340f0
2016-08-21 20:52:17 +00: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
ccavazzoni 9b47d06d32 - update dependencies
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12743 c92efa57-630b-4861-b058-cf58834340f0
2016-08-16 07:17:57 +00:00
giannozz aa62f74650 quick-and-dirty fix for phonon after the lastchanges in FFT descriptors
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12708 c92efa57-630b-4861-b058-cf58834340f0
2016-08-10 11:09:00 +00:00
giannozz 958eb04411 Removal of last reference to "igkq" in the phonon code
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12680 c92efa57-630b-4861-b058-cf58834340f0
2016-08-08 12:58:16 +00:00
giannozz 1f35f5dc8b Variables iunigk and igk deleted from global variables. Beware: may break some
codes that rely on them. 


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12674 c92efa57-630b-4861-b058-cf58834340f0
2016-08-07 13:33:29 +00:00
ccavazzoni 43b253226c - logical flag have_task_groups removed from FFT type.
- FFT type now do not have any information about task group:
  no need to temporary change the value of variable...
- When task group are not needed symple do not use "dtgs" data type
- FFT interfaces called with FFT datatype ONLY, do not perform
  task groups trics any longer, this should simply thing a bit....




git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12628 c92efa57-630b-4861-b058-cf58834340f0
2016-07-29 16:37:19 +00:00
ccavazzoni de2a01c4e6 - Task groups variables moved form FFT type to a new data type
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12626 c92efa57-630b-4861-b058-cf58834340f0
2016-07-29 14:25:22 +00:00
degironc 18dc5b3bd1 routine upf_to_internal modified so that for USPP we set the augmentation charge as an
l-dependent array in all cases.
 This is already the case when upf%tpawp or upf%q_with_l are .true. .
 For vanderbilt US pseudos, where nqf and rinner are non zero, we do here what otherwise
 would be done multiple times in many parts of the code (such as in init_us_1, addusforce_r, 
 bp_calc_btq, compute_qdipol) whenever the q_l(r) were to be constructed. 
 For simple rrkj3 pseudos we duplicate the infomation contained in q(r) for all q_l(r).

 This requires a little extra memory but unifies the treatment of q_l(r) and allows further 
 tweaking with the augmentation charge.

 Variable upf%q_with_l set .true. at the end of the operation. It would be better to leave the 
 variable untouched at its input value  and modify the routines that compute q_l(r) to just use
 the now always present upf%qfuncl array  but this is the first step before some cleanup.

 setqf.f90 moved from PW/src to Modules, Makefiles and dependencies updated




git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12591 c92efa57-630b-4861-b058-cf58834340f0
2016-07-20 11:42:37 +00:00
giannozz e2dc46af1d Support for GTH pseudpotentials in the phonon code was missing (courtesy
Sebastiano Caravati)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12585 c92efa57-630b-4861-b058-cf58834340f0
2016-07-19 16:07:13 +00:00
giannozz 02ce4df8d6 make.sys => make.inc. All other codes using make.sys should modify their build
mechanism accordingly.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12539 c92efa57-630b-4861-b058-cf58834340f0
2016-06-25 07:26:50 +00:00
giannozz 9363f19ec5 Global variable "eprec" no longer useful, deleted
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12512 c92efa57-630b-4861-b058-cf58834340f0
2016-06-21 10:50:51 +00:00
giannozz e9e86b48af Routine computing preconditioning matrix made more general and self-contained.
Initial computation and storage of "eprec" to be deleted.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12510 c92efa57-630b-4861-b058-cf58834340f0
2016-06-21 08:23:33 +00:00
giannozz 424f5e19d5 Preconditioning for phonon extracted - can be improved and generalized
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12506 c92efa57-630b-4861-b058-cf58834340f0
2016-06-19 12:44:09 +00:00
giannozz 9776f1f662 Removal of unused or unmaintained stuff
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12500 c92efa57-630b-4861-b058-cf58834340f0
2016-06-16 08:27:42 +00:00
giannozz 77d3691480 Some cleanup - should be harmless
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12497 c92efa57-630b-4861-b058-cf58834340f0
2016-06-15 17:17:44 +00:00
giannozz 853d25fba0 Last occurrence of h_psiq deleted from phonon. Still present in D3 and GWW.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12495 c92efa57-630b-4861-b058-cf58834340f0
2016-06-14 15:46:08 +00:00
giannozz a2e41a7e94 Removal of I/O of indices in phonon completed. Now only D3 writes the indices
it needs, phonon doesn't do it any longer


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12492 c92efa57-630b-4861-b058-cf58834340f0
2016-06-13 15:02:16 +00:00
giannozz 18e955a3f4 More removal of I/O of igk indices. File is still written but no longer read,
with few exceptions. Complete removal when new version of D3 is available.

Comit message of previous commit by Iurii blocked due to its size:

1) TDDFPT + hybrids must be used with d0psi_rs=.true.
   (treatment of the dipole in the real space).
   This is explained in Ge et al., CPC 185, 2080 (2014).
   Upgrading the examples and putting a warning in the code.
2) In my last commit (r12487) I wrote a misleading comment:
   instead of igk(1:3) and igk_k(1:3,ik) there is of course
   igk(ig) and igk_k(ig,ik), where ig runs over G vectors.
   In the code everything is fine (only the comment was wrong).



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12490 c92efa57-630b-4861-b058-cf58834340f0
2016-06-13 12:20:41 +00:00
giannozz 675104436e More removal of index I/O (iunigk)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12488 c92efa57-630b-4861-b058-cf58834340f0
2016-06-13 09:59:33 +00:00
timrov 7e4e1d9228 Upgrade of the TDDFPT codes using the new logic of the global indices igk_k(1:3,ik) and ngk(ik).
More specificaly:
1) Remove global variable npw (from wvfct) and use ngk(ik) (for optical TDDFPT codes) 
   or ngk(ikk) with ikk=ikks(ik) (for turboEELS). In some routines, ngk is assigned to
   the local variable npw, i.e. npw=ngk(ik), and in other routines ngk is used directly.
2) Remove global indices igk(1:3) (from wvfct) and use igk_k(1:3,ik) (for optical TDDFPT codes)
   or igk_k(1:3,ikk) with ikk=ikks(ik) (for turboEELS).
3) Remove global variable npwq (from qpoint) and use the local variable with the same name,
   which is defined as npwq=ngk(ikq) with ikq=ikqs(ik) (i.e. index of the point k+q).
4) Remove global index variable igkq(1:3) (from qpoint) and use the global index variable
   igk_k(1:3,ikq) with ikq=ikqs(ik).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12487 c92efa57-630b-4861-b058-cf58834340f0
2016-06-12 17:26:36 +00:00
giannozz 085bf333f5 More removal of index I/O in the phonon code - again, shuld be harmless but
please check


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12459 c92efa57-630b-4861-b058-cf58834340f0
2016-06-03 13:22:19 +00:00
giannozz 2895980a8b Further removal of I/O for indices - seems to work, please verify
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12457 c92efa57-630b-4861-b058-cf58834340f0
2016-06-01 15:32:05 +00:00
giannozz fc9a96106e Not-so-smart fix for compilation problem in parallel due to recent changes
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12455 c92efa57-630b-4861-b058-cf58834340f0
2016-06-01 15:22:17 +00:00
giannozz 471201791c Duplicated variable "outdir" deleted from module io_files. BEWARE: will break
all external codes that rely on it (they shouldn't do that anyway)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12452 c92efa57-630b-4861-b058-cf58834340f0
2016-06-01 09:22:25 +00:00
giannozz 0e6d449bea Statically dimensioned vector "nbnd_occ" made dynamical.
BEWARE: I think I have modified all codes that needed it, but please
1) verify that both allocation and deallocation are made in the proper place
2) update other codes not under svn that make usage of such variable


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12451 c92efa57-630b-4861-b058-cf58834340f0
2016-06-01 08:30:58 +00:00
giannozz 0014bec604 Call to cft_wave changed so as to remove need to pass indices. Note that this
will break any code not in svn using cft_wave. Should work but please check.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12449 c92efa57-630b-4861-b058-cf58834340f0
2016-05-30 17:39:48 +00:00
giannozz c032fa57a9 Minor cleanup: harmonization of indices
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12444 c92efa57-630b-4861-b058-cf58834340f0
2016-05-30 13:43:23 +00:00
timrov 44f00cb28c Since the routine h_psi should be used also in the linear-response codes (instead of h_psiq), I use it in the turboEELS code. More precisely, I call directly the routine ch_psi_all instead of calling h_psiq and s_psi in the routine TDDFPT/lr_apply_liouvillian_eels. Added some clarification comments. Lastly, in the routine ch_psi_all I added a condition "IF (alpha_pv.NE.0.0d0) THEN compute alpha_pv P_v wfct", which allows one to avoid computing P_v when alpha_pv=0 (e.g. in the turboEELS code).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12442 c92efa57-630b-4861-b058-cf58834340f0
2016-05-30 09:53:34 +00:00
giannozz cabca0a6be Recently introduced and no longer needed hack removed. Cleanup: it is not a
good idea to call "h_psi" a routine that does something related to but 
different from H\psi. Corrected a few grossly wrong comments.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12440 c92efa57-630b-4861-b058-cf58834340f0
2016-05-28 20:36:34 +00:00
calandra 9cd51a89c0 Generalization to non collinear spin orbit case.
MCB


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12439 c92efa57-630b-4861-b058-cf58834340f0
2016-05-28 17:22:38 +00:00
calandra 2958c72787 generalized to non collinear case.
MCB


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12438 c92efa57-630b-4861-b058-cf58834340f0
2016-05-28 16:46:00 +00:00
calandra 56dc1c8ee4 Corrected bug present when xmldyn is read.
In particular read_dyn_mat needs to be call with
an array phi(3,3,nat,nat) and not with an
array dyn(3*nat,3*nat).

MCB


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12437 c92efa57-630b-4861-b058-cf58834340f0
2016-05-28 16:36:45 +00:00
giannozz ccd3cf5ba4 Recent changes had broken calculation of Raman spectra
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12434 c92efa57-630b-4861-b058-cf58834340f0
2016-05-27 06:47:27 +00:00
calandra a3f4299c3a Uninitialized ierr variables if the if is skipped.
(elph_mat=.true.)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12417 c92efa57-630b-4861-b058-cf58834340f0
2016-05-18 15:45:19 +00:00
timrov ef8089e87b Put the routine dv_of_drho in the module (called dv_of_drho_lr), because it contains an optional array drhoc (response core charge density). Without putting dv_of_drho in the module, the code was stopping (if it was compiled with the XLF compiler (on BG/Q)) when making a check "if (add_nlcc .and. .not.present(drhoc))" in the routine dv_of_drho. Thanks to Lorenzo Paulatto and Paolo Giannozzi for the discussions about how to solve this bug!
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12414 c92efa57-630b-4861-b058-cf58834340f0
2016-05-17 13:58:51 +00:00
giannozz 494b776330 Duplicated unused routines deleted + source beutification (sort of)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12387 c92efa57-630b-4861-b058-cf58834340f0
2016-05-04 17:15:04 +00:00
sponce 40a8127377 Splitting of the program dynmat.f90.
All of its subroutines and module have been transfered into LR_Modules/dynmat_sub.f90.
This will allow the subroutines to be re-used by other programs. 
Note: I had to rename the subroutine "readmat" into "readmat2" because of 
      another readmat subroutine in PHonon/PH/elphon.f90.



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12386 c92efa57-630b-4861-b058-cf58834340f0
2016-05-04 15:31:48 +00:00
giannozz 129d39d416 Cleanup of routine "n_plane_waves", transformed into a function; changed name
of a variable with the same name (no conflicts but it wasn't nice); source
beautification. Should be harmless: n_plane_waves is used only in two places


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12370 c92efa57-630b-4861-b058-cf58834340f0
2016-04-29 09:35:09 +00:00
giannozz df30a665aa Explicit preprocessing produces *_tmp.f90 files instead of *.F90 files, to
prevent trouble with OS-X. May or may not work (it won't unless configure
is updated: please somebody with v.2.63 of autoconf do it), may turn out to
be obsolete anyway.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12364 c92efa57-630b-4861-b058-cf58834340f0
2016-04-27 14:53:38 +00:00
paulatto 3f8cc686ce Reverting by hand as the previous commit did not work as expected
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12316 c92efa57-630b-4861-b058-cf58834340f0
2016-04-19 09:08:48 +00:00
paulatto 0304effd50 Reverting to r8158 (but including last change by Timrov)
as this subroutine is not doing exactly what I expected
(charge enters in real space but is returned in G space)

I hope this commit is being applied to the las trevision, SVN documentation is a bit fuzzy.



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12315 c92efa57-630b-4861-b058-cf58834340f0
2016-04-19 08:58:31 +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
giannozz 78830ab2c8 Neither OpenMP nor MPI was properly working in the routine just added. The
latter was actually a pre-existing bug: some variables related to the 
treatment of van der Waals interactions were neither set nor properly 
broadcast. Not a big deal until the day you want to use them.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12275 c92efa57-630b-4861-b058-cf58834340f0
2016-04-02 07:44:22 +00:00
giannozz 92564d98a4 Phonons with DFT+D2. May or may not work.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12274 c92efa57-630b-4861-b058-cf58834340f0
2016-04-02 06:43:47 +00:00