Module "spin_orb" merged into "noncollin_module": there is little logic in
having two small modules ("upf_spinorb" is the other one) for a handful of
spin-orbit related variables. Morever "noncollin_module" and "spin_orb" are
almost everywhere USEd together.
BEWARE: may break external codes using QE routines.
1) Bugfix in turboEELS+USPP due to recent changes
(fix by Oleksandr Motornyi and Iurii Timrov)
2) Homogenization of names of subroutines
3) Update of the example 17 for turboEELS+USPP+SOC which
was wrong due to the bug mentioned above.
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)
- mp_world and world_comm should be used only in MPI initialization,
not directly in codes - replaced by mp_images and intra_image_comm
(except in a few cases whose usage is unclear to me)
- mp_global should be used only to provide initialization routines
mp_startup, mp_global_end
- specific mp_* modules should be used for parallelization level on *
(* = images, pools, bands, orhtoh, ...)
Nothing actually changes (I hope) but things will look cleaner if the module
for the required parallelization level is USEd instead of a generic one that
does too meny things at the same time. The final goal of this operation is to
better disentangle the various parallelization levels and to have a better
organized, more granular MPI initialization that does not introduces artificial
and meaningless dependencies. Not done for: PHonon, CPV, TDDFPT, GWW, EPW
variables "auto_rs" (and "real_space_debug") deleted. TDDFPT still reads
"tqr" and "real_space" from input (TODO: read them from data file instead).
"make.depend" updated, TDDFPT no longer depends upon iotk
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
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