Commit Graph

792 Commits

Author SHA1 Message Date
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