- further changes to support image parallelization in CP
- bug fix in XML save file for wave functions / charge density / pools .
In siple case and combinations of procs and polls now it seem to work.
More testing is required
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2963 c92efa57-630b-4861-b058-cf58834340f0
"reset_vel" input variable was read but not used
parallelization on images was not properly working
clueanup in the way ATOMIC_POSITIONS card is read.
C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1151 c92efa57-630b-4861-b058-cf58834340f0
This required a deep modification of the parallelism in PWscf:
there are two new communicators (intra_image_comm and inter_image_comm) and the
existing "pool" communicators (intra_pool_comm and inter_pool_comm) are now vectors
of length given by the number of parallel images. #ifdef __PARA is no longer
needed because all "parallel" variables are always initialized for a serial run
and all parallel routines are, in the case of a serial run, dummy routines.
The wrappers to MPI routines used only by PWscf are in the PW/para.f90 file.
The others (mp_***) are in the Modules/mp.f90. All explicit referencies to mpif.h
should be replaced by an "USE parallel_include" (in a serial run parallel_include
is simply a dummy module).
2) The extrapolation of both potential and wavefunctions has been rewritten in
order to be smarter than before: on the basis of the required extrapolation
order, on the basis of the history and on the basis of which files are really
present on the disk, the algorithm chooses the extrapolation order.
All the algorithms in which ions are moved can use the extrapolation.
These are both unstable features: I need the help of everybody to test them.
C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@742 c92efa57-630b-4861-b058-cf58834340f0
correct place (kinds); module "varie" replaced by "control_flags" (not
yet in pwcom, though) - many many files changed.
64-bit cpus (Opteron, maybe Itanium) should now work if __LINUX64 is defined
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@513 c92efa57-630b-4861-b058-cf58834340f0
kept fixed (Carlo Sbraccia)
"Total force" now prints a more sensible quantity:
\sqrt(\sum_{i,n} f_i(n)^2) instead of \sum_{i,n} |f_i(n)|
Cleanup in several routines and in modules.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@334 c92efa57-630b-4861-b058-cf58834340f0
cleaning + removing of redundant files ( now in Modules )
now FPMD rely entirely on Module/fft_scalar and Module/fft_base
CPV:
fft drivers, in the parallel case, now rely entirely on fft_scalar
CPV depends on FFTW only through fft_scalar which in turn calls
the wrappers contained in clib/fft_sticks, in other words CPV and
FPMD are now completely isolated from FFTW primitives.
PW:
clocks.f90 moved to Modules
scnds.f90 moved to flib
When __AIX is defined PW now uses Module/fft_scalar drivers too.
For testing and debugging, usage of fft_scalar or
cft_sp drivers can be selected, for the time being, defining or undefining the
__FFT_MODULE_DRV macro in the cft3.f90 and cft3s.f90 files.
fft_scatter has been moved to Module/fft_base, file PW/fft_scatter.f90
is still there for testing and debugging
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@170 c92efa57-630b-4861-b058-cf58834340f0