Commit Graph

119 Commits

Author SHA1 Message Date
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
degironc ac7906dc29 - makefile update after yesterday changes
- variable "ishybrid" added to Modules/funct.f90 to manage hybrid functionals
- duplicated subroutines in upftools/nclib.f90 removed


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2095 c92efa57-630b-4861-b058-cf58834340f0
2005-08-09 07:34:23 +00:00
sbraccia 5088fea7c2 The flag that identifies meta-gga XC is now TPSS (to avoid conflicts
with other possible implementations of meta-gga).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2023 c92efa57-630b-4861-b058-cf58834340f0
2005-07-14 20:01:29 +00:00
sbraccia ab9fcd0dd3 META-GGA implemented (by Xiaofei Wang) in the CP code for norm-conserving pseudopotentials only.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2019 c92efa57-630b-4861-b058-cf58834340f0
2005-07-13 18:22:42 +00:00
giannozz d4a9ef7104 oops...
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1977 c92efa57-630b-4861-b058-cf58834340f0
2005-06-22 13:56:55 +00:00
giannozz b074a0f13d g95 doesn't like any longer iargc to be defined external
Filenames from command line read in a single routine (get_file)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1974 c92efa57-630b-4861-b058-cf58834340f0
2005-06-22 10:08:02 +00:00
giannozz 6c216e8547 More accurate error message
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1949 c92efa57-630b-4861-b058-cf58834340f0
2005-06-09 07:36:58 +00:00
cavazzon e1097e16e2 - in CP/FPMD added the possibility to specify input with
command line parameter -input like in PW
- restart file layout modified


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1945 c92efa57-630b-4861-b058-cf58834340f0
2005-06-08 21:30:34 +00:00
dalcorso adea6948fa dos.f90 updated. It should now work also in the non collinear case.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1936 c92efa57-630b-4861-b058-cf58834340f0
2005-06-07 11:21:07 +00:00
cavazzon 856d5ced1f - fpmd2upf made more user friendly
- sph_bes, check on small G changed to avoid
  problems with log. atomic grid , that are dense near 0


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1921 c92efa57-630b-4861-b058-cf58834340f0
2005-05-27 13:49:19 +00:00
sbraccia 8d44a2a8fd The new subroutine flush_unit() is used everywhere. C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1904 c92efa57-630b-4861-b058-cf58834340f0
2005-05-25 02:58:35 +00:00
sbraccia 23f1f09b91 Added a new wrapper to the flush routine. Hereafter to flush a unit use:
CALL flush_unit( unitnumber ) without any "#ifdef". All the check are done within
flush_unit.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1903 c92efa57-630b-4861-b058-cf58834340f0
2005-05-25 02:56:34 +00:00
ballabio d214f05b60 last end subroutine --> end subroutine name [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1874 c92efa57-630b-4861-b058-cf58834340f0
2005-05-18 14:02:51 +00:00
ballabio 58e011d62d end --> end program [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1870 c92efa57-630b-4861-b058-cf58834340f0
2005-05-17 17:20:29 +00:00
ballabio 315a100b4b more end --> end function [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1869 c92efa57-630b-4861-b058-cf58834340f0
2005-05-17 17:07:57 +00:00
ballabio dfcae1fa52 last end --> end subroutine [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1860 c92efa57-630b-4861-b058-cf58834340f0
2005-05-12 15:32:15 +00:00
cavazzon 0219a46b4c - CP clean-ups: eigr, ei1, ei2, ei3, eigrb, ... arrays
now have the same layout (equal to the layout they have in PW)
- iotk files in Modules have been removed


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1801 c92efa57-630b-4861-b058-cf58834340f0
2005-04-14 21:08:53 +00:00
giannozz 50639d1aae NEC doesn't like ampersand at column 73 in f77 files ... (Guido)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1788 c92efa57-630b-4861-b058-cf58834340f0
2005-04-12 07:38:19 +00:00
giannozz 891f7206e4 Added missing copyright notice
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1732 c92efa57-630b-4861-b058-cf58834340f0
2005-03-21 14:26:31 +00:00
ballabio 37be000572 cleanup [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1714 c92efa57-630b-4861-b058-cf58834340f0
2005-03-16 11:45:27 +00:00
ballabio 765729b8b3 merged make.sys and make.rules together
there was no reason they should be two different files
everybody must rerun configure
[Gerardo]


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1690 c92efa57-630b-4861-b058-cf58834340f0
2005-03-08 18:44:10 +00:00
giannozz 858c2af16d Missing lapack routines added
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1596 c92efa57-630b-4861-b058-cf58834340f0
2005-01-31 10:05:59 +00:00
cavazzon 2047ff6986 - more CP90/FPMD merging
- fix in the FPMD xc functionals wrapper


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1575 c92efa57-630b-4861-b058-cf58834340f0
2005-01-26 10:15:04 +00:00
cavazzon 2efa68d315 - workarounds for xlf compiler
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1562 c92efa57-630b-4861-b058-cf58834340f0
2005-01-15 20:07:08 +00:00
cavazzon 1733abe068 - more CP90/FPMD merging: fft high level driver, iosys, exchange-correlation
- some subroutine shortened and simplyfied to make compilation easy


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1559 c92efa57-630b-4861-b058-cf58834340f0
2005-01-15 10:53:46 +00:00
cavazzon e32ce9b074 - common xc and gga functionals subroutines for all code PW/CP/FPMD
- Few more functionals has been added to file more_functionals.f90
  since in PW BLYP/LSDA were not implemented .
  In the same file, temporary, are stored old CP90 subroutines
  for testing purpose ( in CP functionals were vectorized!! ).
  The small program PP/xctest.f90 can be used to make a comparative
  test between new and old routines, in case someone suspect a problem
  there.
- buon anno!


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1533 c92efa57-630b-4861-b058-cf58834340f0
2004-12-31 11:14:32 +00:00
giannozz 0998224913 Misc minor fixes from Axel Kohlmeyer
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1516 c92efa57-630b-4861-b058-cf58834340f0
2004-12-20 10:04:00 +00:00
degironc 5c5a3b4826 13 Dec 2004 sph_bes.f90 in flib was incorrect for some high value of l (SdG)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1505 c92efa57-630b-4861-b058-cf58834340f0
2004-12-13 13:11:22 +00:00
degironc a46d223957 make.depend files are gererated by configure and are therefore always seen
as Modified by CVS. I think they should not be part of the CVS tree (SdG).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1501 c92efa57-630b-4861-b058-cf58834340f0
2004-12-10 12:12:40 +00:00
cavazzon 95be051359 - sph_bes.f90 fix for parallel compilation
- input.f90 workaround for xlf internal compiler error


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1470 c92efa57-630b-4861-b058-cf58834340f0
2004-11-24 12:01:21 +00:00
cavazzon 962d506e30 - XML like restart for CP/FPMD (almost completed)
see file Modules/cp_restart.f90


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1456 c92efa57-630b-4861-b058-cf58834340f0
2004-11-18 23:26:26 +00:00
sbraccia d073595767 Further cleanup of bessel functions. sph_besr moved from atomic to flib.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1453 c92efa57-630b-4861-b058-cf58834340f0
2004-11-17 13:35:03 +00:00
sbraccia 36c6f48b0f Cleanup of spherical bessel functions.
Added a routine to compute the derivativs of spherical bessel functions (used by calc_btq).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1450 c92efa57-630b-4861-b058-cf58834340f0
2004-11-17 12:05:53 +00:00
sbraccia e4418ea8f6 Some non-declared variables explicitly declared.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1446 c92efa57-630b-4861-b058-cf58834340f0
2004-11-16 12:59:18 +00:00
cavazzon 3b22ff0108 - FPMD/CP more merging
- new module for merged FPMD/CP restart subroutines
- starting work on XML restart/punch  (cp_restart.f90)
carlo


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1443 c92efa57-630b-4861-b058-cf58834340f0
2004-11-15 12:13:22 +00:00
ballabio 8a6525f4fe renamed .dependencies to make.depend, added them to CVS [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1434 c92efa57-630b-4861-b058-cf58834340f0
2004-11-09 10:53:55 +00:00
giannozz 1648ab6bf2 Patches from Axel Kohlmayer:
- iotk_scan in iotk_module had a mixed up 'intent' statement.
- sun ultra fire 3 compiler warnings
- cleanup in filename length (brought to 256)
- cleanup in include files


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1399 c92efa57-630b-4861-b058-cf58834340f0
2004-10-26 09:32:48 +00:00
giannozz 6046a67da7 Added missing lapack for Mac OS + Atlas (Pascal Thibadeau)
configure not yet configured to recognize "lapack_atlas"


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1398 c92efa57-630b-4861-b058-cf58834340f0
2004-10-26 08:22:15 +00:00
giannozz 4f68d24040 more patches from Axel Kohlmeyer - see ChangeLog for complete list
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1347 c92efa57-630b-4861-b058-cf58834340f0
2004-09-27 15:05:32 +00:00
giannozz cedf634a7f Small fix by Axel for one-letter atomic symbols
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1337 c92efa57-630b-4861-b058-cf58834340f0
2004-09-27 08:27:50 +00:00
giannozz 9b7ec82c2b chdens can produce "cubefile" format (Gaussian)
(contributed by Axel Kohlmeyer)
Version 2.1 tagged


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1322 c92efa57-630b-4861-b058-cf58834340f0
2004-09-20 08:37:49 +00:00
sbraccia 8ff8da31ac The error message is no longer written on /dev/stderr (on linux clusters), but only on unit *.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1197 c92efa57-630b-4861-b058-cf58834340f0
2004-09-01 08:59:35 +00:00
cazzato 325c16660d missing ZSYRK and ZSYR2K subroutines added to the local copy of blas
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1196 c92efa57-630b-4861-b058-cf58834340f0
2004-09-01 08:56:36 +00:00
giannozz 03537a5ac7 Minor mac os-x fix
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1154 c92efa57-630b-4861-b058-cf58834340f0
2004-08-23 09:47:32 +00:00
sbraccia f6758c9998 Added a check on the existence of /dev/stderr (used when _PARA and __LINUX are defined).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1139 c92efa57-630b-4861-b058-cf58834340f0
2004-08-20 08:52:20 +00:00
giannozz f17501572d Support for mac-osx added (contributed by Pascal Thibaudeau)
Extensive documentation update and reshuffling : pwdocs and cpdocs merged
into Doc


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1104 c92efa57-630b-4861-b058-cf58834340f0
2004-08-09 16:35:51 +00:00
giannozz cf4129b4d2 Misc. cleanup; a few redundant routines moved to flib;
added example for phonon DOS; version number updated to 2.1 (PG)

Please start testing and debugging the next version, i.e., this one.
Note that reference data have to be updated for all examples.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1039 c92efa57-630b-4861-b058-cf58834340f0
2004-07-02 16:24:48 +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 61ecf7994a More T3E fixes
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@999 c92efa57-630b-4861-b058-cf58834340f0
2004-06-25 14:23:03 +00:00
giannozz b4da6fadb8 Various T3E compilation problems
Any kind soul replacing the calls to zgefa and zgesl with lapack calls?


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@997 c92efa57-630b-4861-b058-cf58834340f0
2004-06-25 10:12:10 +00:00