Make.ibmsp modified to work without modifications for all codes
Misc minor changes. Initialization to zero added to regterg as well
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@179 c92efa57-630b-4861-b058-cf58834340f0
..... fixed by PG few minutes ago!
PW interfaced to Module/fft_scalar.f90 when __FFTW is defined.
Extensive tests of parallel and serial execution for all codes,
has been done on ALPHA system.
In pw_examples/example6 found a problem in parallel execution with 4 procs,
related to stdin (I've got an end of file on stdin), no problem
for the serial execution.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@176 c92efa57-630b-4861-b058-cf58834340f0
Calls to allocate_fft, ggen moved out of setup.f90
Minor change in mix_rho to reduce memory use
CPV: Exch_corr: gradr not deallocated in some cases
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@175 c92efa57-630b-4861-b058-cf58834340f0
in parallel execution, this are due to unused/unset elements
of variables: spsi, psi, hpsi. Now after the allocation
they are set to 0.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@172 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
write(6, ' ( " .... ", &
" .... " ) ' )
changed to
write(6, ' ( " .... ", &
& " .... " ) ' )
The sgi compiler is right, the descriptor is a string '( ... )'
and a continuation is possible only if "&" is added at the beginning
of the line
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@163 c92efa57-630b-4861-b058-cf58834340f0
this will be needed to link FFTW through "C" wrappers in /clib and
to automatically detect the number of underscores.
The new machine files should be checked and possibly corrected
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@159 c92efa57-630b-4861-b058-cf58834340f0
I've added a new module, fft_types, containing
a structure for the fft data layout description, this is
common to all cades and independent to a particular grid.
This data structure will be used in few general high level fft drivers.
Another module, fft_base, contains the scatter algorithms,
and low level fft auxiliary functions.
Test with the new data structure are being done with CP and FPMD.
Yet another module, fft_scalar (not yet in the repository),
will contain the scalar wrapper to the machine specific ffts
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@149 c92efa57-630b-4861-b058-cf58834340f0
(extensive changes to wfcinit, rotate_wfc, ccginitg).
Residual wrong dimension et(nbndx,nkstot) removed.
Common efield_0 in PW renamed extfield to avoid name
clash with common efield in PH (PGI compiler)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@148 c92efa57-630b-4861-b058-cf58834340f0
hdiag-e*sdiag is close to zero) used in cegterg. This
removes most of the warning messages when using Davidson
diagonalization. Although the overall performance (number of
h_psi performed) does not seem to change very much in small
tests, except pathological cases like ni.band.in in example1,
it should be wise to have a more stable preconditioning.
cegterg: use always GEMM instead of GEMV in the update.
electrons: in a relaxation run perform accurately the first
iteration after ionic move but reset the diagonalization
threshold according to the actual self-consistence for the
following ones.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@147 c92efa57-630b-4861-b058-cf58834340f0
cegterg, regterg: use GEMM instead of GEMV, do not require
any longer evc, et to be dimensioned nbndx (et is now
dimensioned (nbnd,nkstot)) - misc. cleanup
Il calcolo di (H-eS)*psi ('update') nella diagonalizzazione iterativa
prendeva un tempo esagerato. L'ho modificata in modo da usare prodotti
matrice-matrice su tutti gli psi invece che matrice-vettore su ogni
psi, se piu' di 1/4 dei vettori non e' a convergenza. La cosa e' fatta
a naso e richiede ulteriori di prove, ma mi sembra che apporti dei
miglioramenti.
In TODO ho messo una lista di cose da fare.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@145 c92efa57-630b-4861-b058-cf58834340f0
cella unitaria in chdens (utile solo per molecole isolate).
Introdotta la possibilita' di aggiungere un potenziale a forma di dente
di sega al potenziale degli ioni per simulare un campo elettrico
finito. (by J. Tobik)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@141 c92efa57-630b-4861-b058-cf58834340f0