Commit Graph

21 Commits

Author SHA1 Message Date
giannozz c8472f5984 Calculation of planar averages of wavefunctions moved out of pp.x
into a separate code (plan_avg.x). Output file should be the same.
Completely untested: it compiles, no warranty that it works!


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2714 c92efa57-630b-4861-b058-cf58834340f0
2006-01-19 17:59:10 +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
giannozz bf4bfe222f General cleanup of intrinsic functions:
conversion to real    => DBLE
(including real part of a complex number)
conversion to complex => CMPLX
complex conjugate     => CONJG
imaginary part        => AIMAG

All functions are uppercase.
CMPLX is preprocessed by f_defs.h and performs an explicit cast:
#define CMPLX(a,b)  cmplx(a,b,kind=DP)
This implies that 1) f_defs.h must be included whenever a CMPLX is present,
2) CMPLX should stay in a single line, 3) DP must be defined.

All occurrences of real, float, dreal, dfloat, dconjg, dimag, dcmplx
removed - please do not reintroduce any of them.
Tested only with ifc7 and g95 - beware unintended side effects

Maybe not the best solution (explicit casts everywhere would be better)
but it can be easily changed with a script if the need arises.
The following code might be used to test for possible trouble:

program test_intrinsic

  implicit none
  integer, parameter :: dp = selected_real_kind(14,200)
  real (kind=dp) :: a = 0.123456789012345_dp
  real (kind=dp) :: b = 0.987654321098765_dp
  complex (kind=dp) :: c = ( 0.123456789012345_dp, 0.987654321098765_dp)

  print *, '      A = ', a
  print *, ' DBLE(A)= ', DBLE(a)
  print *, '      C = ', c
  print *, 'CONJG(C)= ', CONJG(c)
  print *, 'DBLE(c),AIMAG(C)  = ', DBLE(c), AIMAG(c)
  print *, 'CMPLX(A,B,kind=dp)= ', CMPLX( a, b, kind=dp)

end program test_intrinsic

Note that CMPLX and REAL without a cast yield single precision numbers on
ifc7 and g95 !!!


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2133 c92efa57-630b-4861-b058-cf58834340f0
2005-08-26 17:44:42 +00:00
giannozz e9bf912bcf write cpu time in a form that can be easily parsed out
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2052 c92efa57-630b-4861-b058-cf58834340f0
2005-07-28 09:03:28 +00:00
giannozz ace8b915bb Misc small changes
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1174 c92efa57-630b-4861-b058-cf58834340f0
2004-08-26 09:33:01 +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
giannozz 68b075c1ae Cleanup: pwcom no longer used in PP/
qgm is now a local variable as it should be


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@867 c92efa57-630b-4861-b058-cf58834340f0
2004-05-08 10:24:24 +00:00
degironc bc65724ba0 stm images can be obtained from a calculation at "gamma".
gamma_only variable is written/read by saveall.
contributed by Guido Fratesi


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@505 c92efa57-630b-4861-b058-cf58834340f0
2004-01-22 12:48:52 +00:00
giannozz cd8242ad9a Some cleanup
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@486 c92efa57-630b-4861-b058-cf58834340f0
2004-01-15 15:50:19 +00:00
giannozz 183a01bc5e Check on undefined variables, out-of-bound arrays
Several implicit none re-added, pwcom modules split


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@466 c92efa57-630b-4861-b058-cf58834340f0
2004-01-06 10:53:30 +00:00
cavazzon 9ce7263953 - bug (alpha compiler) reported by Sergey has been fixed
- module filnam in pwcom moved to io_files module
- module units in pwcom moved to io_file

From now on, all file names and their unit and attributes (i.e. reclen)
should be defined in Modules/io_files.f90


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@382 c92efa57-630b-4861-b058-cf58834340f0
2003-11-09 18:30:08 +00:00
cavazzon c5d8ff2f66 - unit 6 replaced by stdout in CPV
- ^M removed from pseudo files
- wavefunctions arrais moved to module
  wavefunctions_module, common to all codes
  this is required to reduce duplicated subroutine
- new lapack subroutine, called from PWCOND,
  added to lib/lapack.f lib/lapack_ibm.f


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@381 c92efa57-630b-4861-b058-cf58834340f0
2003-11-09 10:42:50 +00:00
sbraccia b33c2e1f64 Unit stdout (set in Modules/io_global.f90) is used to write on standard output
instead of 6 or *.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@375 c92efa57-630b-4861-b058-cf58834340f0
2003-11-06 09:41:13 +00:00
cavazzon 1d34b5c0a8 non collinear spin version of PW,
contributed by Adriano Mosca Conte,
added to the repository.
The non collinear code has required
a new module "wavefunctions" containing
"psic" and "evc", that no longer belong
to pwcom.

use: cvs update -d

there's a new example (example13), that is not
yet complete, I'm waiting for the appropriate
pseudopotential from Adriano


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@322 c92efa57-630b-4861-b058-cf58834340f0
2003-10-03 14:01:11 +00:00
giannozz 0cd76c7b27 *** empty log message ***
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@280 c92efa57-630b-4861-b058-cf58834340f0
2003-07-29 17:38:08 +00:00
giannozz 401f236aca clean_pw cleaned
symmetries are always applied in non-scf calculations
(with the exception of Berry-phase calculation):
use nosym=.true. to prevent generation of additional points
Example for STM added


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@274 c92efa57-630b-4861-b058-cf58834340f0
2003-07-23 12:18:52 +00:00
giannozz b8c13f2a90 Minor corrections
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@238 c92efa57-630b-4861-b058-cf58834340f0
2003-06-16 08:57:45 +00:00
giannozz ab5b6af5e5 D3/Makefile : missing add_efield added
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
2003-04-07 12:55:29 +00:00
giannozz 9e3a2de758 Support for lahey compiler added: "error" renamed to "errore", "rnd" to "rndx"
bug in io_base fixed
PARA => __PARA
cinterpolate moved into interpolate


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@86 c92efa57-630b-4861-b058-cf58834340f0
2003-02-21 14:57:00 +00:00
giannozz d852392cab module allocate, calls to mallocate, mfree removed
pointers replaced by allocatable whenever possible


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@56 c92efa57-630b-4861-b058-cf58834340f0
2003-02-07 16:04:36 +00:00
giannozz ac9f2144c0 O-sesame
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2 c92efa57-630b-4861-b058-cf58834340f0
2003-01-19 21:58:50 +00:00