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.
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
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
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
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
moment to get rid of flib/, whose usefulness is far from obvious. The content
of flib/ is now in Modules/. Many makefiles updated and little more.
Packages using QE routines should just remove links to flib/flib.a.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12072 c92efa57-630b-4861-b058-cf58834340f0
PH/phcom.f90 split in PH/phcom.f90 + LR_Modules/lrcom.f90 that contains
qpoint module
A number of routines using these variables needed to be modified to explicitely
load qpoint (in addition to phcom)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12005 c92efa57-630b-4861-b058-cf58834340f0
command_argument_count, flush, are used everywhere instead of wrappers.
Some old versions of compilers may no longer work.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11759 c92efa57-630b-4861-b058-cf58834340f0
change with PHonon phq_init.f90. I also added a new module wannier_gw, for a tight integration with the rest of the QE.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10772 c92efa57-630b-4861-b058-cf58834340f0
Note: I'll be working to clean GWL a little bit in the following weeks, to see if implementing some tasks I've been asked are feasible or not. Please forward me any other
tests for this code, so that I can implement a daily test
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10769 c92efa57-630b-4861-b058-cf58834340f0
(I think): mp_bands.f90 . Many changes but nothing dangerous. Note that
codes not in svn may be broken by this change, but the fix is very simple
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10567 c92efa57-630b-4861-b058-cf58834340f0
variables for the "world" MPI communicator. The latter are to be found in
world_comm instead. mp_global should be used only to start and to end the
various parallelization levels. Many small but harmless changes: a few
variables removed or moved to another module in most cases.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10558 c92efa57-630b-4861-b058-cf58834340f0
- PWCOND was not compiling any more after last branch merging,
I fix it mapping old to new variables (realus), but I need someone checking it
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10532 c92efa57-630b-4861-b058-cf58834340f0
one directory down, not two directories down. Now it is explicitly set to
something (hopefully) appropriate everywhere. Note that include/f_defs.h
is obsolete and shouldn't be included (it is still in GWW and TDDFPT).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10446 c92efa57-630b-4861-b058-cf58834340f0
The only variable used in all codes, "title", moved to a new module run_info
in Modules (it may in the furture contain more stuff).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@8044 c92efa57-630b-4861-b058-cf58834340f0
Now all variables regarding real space grid, fft and
their parallelization are contained into the objects:
dfftp (dense grid)
dffts (smooth grid)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7973 c92efa57-630b-4861-b058-cf58834340f0
Further changes will follow in order to reduce dependencies and
duplicate variables (especially with dfft data structure)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7961 c92efa57-630b-4861-b058-cf58834340f0
1) variables nrxx, nr[123][x] moved from gvect to grid_dimensions
2) when the FFT descriptor, fdfftp, is presewnt, values contained
in the descriptor are used instead
Beware unintended side effects.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7167 c92efa57-630b-4861-b058-cf58834340f0
smooth_grid_dimensions or in dffts%nnr is used instead. Lots of changes
but nothing substantial. Beware unintended side effects
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7164 c92efa57-630b-4861-b058-cf58834340f0
moved into file Modules/io_files.f90 but not inside module io_files. A better
place is in flib/ in my opinion. Removed dependency of CP upon PW. Lots of
changes but ne substantial or dangerous change.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6835 c92efa57-630b-4861-b058-cf58834340f0