Most of the changes consist in small updates to Makefile and make.depend and
in the replacement of module "parameters" with "upf_params" whenever variables
lmaxx and lqmax are USEd. Routine "read_pseudo" moved back to Modules/;
"simpsn" moved to upflib/; a copy of "matches" temporarily added to upflib/
Note that everything compiles (except EPW) but nothing has been tested yet!
turboEELS to USPP+SOC:
1) Minor changes here and there
2) Added example 17 testing the implementation of turboEELS+USPP+SOC
3) Modified Makefiles to remove dependencies of TDDFPT on PH routines
(it was mistakenly introduced recently)
4) Removed the routine dveqpsi_us_only.f90 because it is not used
anywhere (it is an analogue of lr_addus_dvpsi.f90)
In the HP code added a check on the variable perturb_only_atom
(only Hubbard atoms are allowed to be perturbed)
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).
While wating for a better solution, I have added the dependency upon libppcg.a
(the better solution requires taking initialization of "diag" communicators
out from mp_startup)
the requisites (I think I removed them) for ld1 target. Fixed for now, but
I think there is something very wrong in an atomic code that works serially,
does not perform FFTs or diagonalize matrix, but still depends upon FFT and
diagonalization libraries via obscure dependencies (vdW-DF, mpi startup)
file exx_band.f90; make.depend updated accordingly. Module exx now needs
modules exx_base and exx_band. Next: all general variables and routines
moved to exx_base.
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
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