Commit Graph

17 Commits

Author SHA1 Message Date
giannozz 6eae898b2a More merge of noncolinear stuff
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3702 c92efa57-630b-4861-b058-cf58834340f0
2007-01-21 20:09:10 +00:00
sbraccia adc692d6e2 Added parallel routines for matrix-matrix, and matrix-vector multiplications and
for Cholesky decomposition. These routines are used to parallelize the solvers
for the generalized eigenvalue problems, namely rdiaghg and cdiaghg (notice that
the inversion of the lower triangular matrix L is still done using a serial
lapack routine). These two routines are now used for Davidson parallelization.
Old algorithm based on the orthogonalization of the correction vectors has been
removed (it was awfully slow). The performance of the new algorithm should be
decent. Beware unexpected side effects. C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3310 c92efa57-630b-4861-b058-cf58834340f0
2006-08-08 21:14:26 +00:00
sbraccia 23c45d3ebc Fixed an array out of bound in Gram-Schmidt. Cleanup of parallel Davidson.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3061 c92efa57-630b-4861-b058-cf58834340f0
2006-05-01 22:14:22 +00:00
giannozz 27036092d5 Not sure the new format works in the noncolinear case, but for sure
it was not working before. TABs removed


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2857 c92efa57-630b-4861-b058-cf58834340f0
2006-03-01 15:25:50 +00:00
sbraccia 3958d9b912 Davidson with parallel subspace diagonalization implemented. At startup the code automatically
checks whether or not it is convenient to use the parallel diagonalizer reporting the result.
The output is still verbose to facilitate the identification of bugs.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2767 c92efa57-630b-4861-b058-cf58834340f0
2006-02-03 20:20:55 +00:00
giannozz f533b052d5 dbl => DP (defined as previously dbl was)
syntax for declarations: real(DP), without "kind="


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2135 c92efa57-630b-4861-b058-cf58834340f0
2005-08-28 14:09:42 +00:00
ballabio dd20aa85cd lrot must be logical [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1777 c92efa57-630b-4861-b058-cf58834340f0
2005-03-31 11:07:34 +00:00
sbraccia ddb2067a1e Conjugate-gradient: added a routine for gamma-only calculations. collinear and noncollinear routines unified.
Davidson: minor improvements of the davidson algorithm. collinear and noncollinear routines unified.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1769 c92efa57-630b-4861-b058-cf58834340f0
2005-03-30 14:37:55 +00:00
ballabio 59d48dd531 workarounds for g95 bug [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1395 c92efa57-630b-4861-b058-cf58834340f0
2004-10-25 15:26:30 +00:00
sbraccia f80a54904f Some compilers complain for double colon after EXTERNAL.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1183 c92efa57-630b-4861-b058-cf58834340f0
2004-08-27 08:29:48 +00:00
sbraccia 2b357e927b DIIS: fixed some bugs in the diis procedure. Performance issue still to be addressed.
Davidson: minor cleanup
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1133 c92efa57-630b-4861-b058-cf58834340f0
2004-08-19 16:22:51 +00:00
sbraccia afc04941bd Fixed a small bug added (by me) in a recent commit.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1082 c92efa57-630b-4861-b058-cf58834340f0
2004-07-19 13:36:17 +00:00
sbraccia 6eab239588 In the diagonalization two different tresholds are used for occupied and empty bands (as done in diis).
Marginal speed-up (of the order of 10%-20%), but safe.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1041 c92efa57-630b-4861-b058-cf58834340f0
2004-07-05 06:53:39 +00:00
sbraccia 0caeadbd7b Machine-dependent definitions are now contained in two different files (both in /include):
1) f_defs.h  for definitions to be included in FORTRAN files ONLY
   2) c_defs.h  for definitions to be included in C       files ONLY

C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1012 c92efa57-630b-4861-b058-cf58834340f0
2004-06-25 17:25:37 +00:00
sbraccia 1ab31b8fdc Yet another version of the DIIS algorithm (it substitutes the previous one). This version is slower (but not dramatically) than davidson for small systems, faster for large systems (the cross-over is around 300 bands), but there is space for further improvements. A gamma-point version is also implemented (previously missing). An "holes-sniffer" is implemented to prevent holes in the eigenvalues spectrum.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@876 c92efa57-630b-4861-b058-cf58834340f0
2004-05-11 08:11:52 +00:00
giannozz 0b1a5c9fd8 Extensive module cleanup: DP moved from wrong place (parameters) to the
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
2004-01-23 15:08:03 +00:00
sbraccia 2f4d7baded PW, Gamma and NEB are now unified.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@449 c92efa57-630b-4861-b058-cf58834340f0
2003-12-10 14:57:07 +00:00