Commit Graph

31 Commits

Author SHA1 Message Date
dalcorso d0c3687099 Further use of nspin_mag in array dimensions.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6081 c92efa57-630b-4861-b058-cf58834340f0
2009-10-23 13:22:05 +00:00
dalcorso 39cb43eac6 Save memory in the nonmagnetic spin-orbit case. Some variables are
allocated nspin_mag.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6079 c92efa57-630b-4861-b058-cf58834340f0
2009-10-23 11:11:36 +00:00
dalcorso 81d2b3fb9b becp_type used more extensively in the phonon code.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6062 c92efa57-630b-4861-b058-cf58834340f0
2009-10-21 06:34:59 +00:00
giannozz afec752184 End of this set of not-so-fundamental changes. Summary:
1) no more f_defs.h file to be included in fortran files
2) all CMPLX explicitly defined as CMPLX(...,KIND=dp)
3) blas/lapack names in lowercase (not all of them, actually)
4) documentation accordingly updated (plus unrelated changes to user_guide)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5805 c92efa57-630b-4861-b058-cf58834340f0
2009-08-03 09:19:02 +00:00
dalcorso 8deedeccf7 Minor cleanup of the phonon code. USE phcom substituted with multiple USE statements
in many routines.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5367 c92efa57-630b-4861-b058-cf58834340f0
2009-02-02 10:52:58 +00:00
dalcorso 466b10bddd Added the case DFPT+PAW+shift of Fermi energy.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5334 c92efa57-630b-4861-b058-cf58834340f0
2008-12-12 10:14:48 +00:00
giannozz 1404b5f8cd More pwcom splitting into modules
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5211 c92efa57-630b-4861-b058-cf58834340f0
2008-09-24 11:50:31 +00:00
giannozz be76efc343 More cleanup (?): modules "uspp" and "symme" extracted from "pwcom"
everywhere. I didn't like the previous half-baked state.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5128 c92efa57-630b-4861-b058-cf58834340f0
2008-08-23 17:55:06 +00:00
dalcorso 0375acce30 Variable so(nt) removed: so(nt) -> upf(nt)%has_so.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4929 c92efa57-630b-4861-b058-cf58834340f0
2008-05-15 12:58:11 +00:00
cavazzon b033e94034 - poolreduce replaced by mp_sum( ..., inter_pool_comm)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4658 c92efa57-630b-4861-b058-cf58834340f0
2008-01-24 23:43:05 +00:00
giannozz 2f639d11d5 Almost final "becmod" cleanup
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4534 c92efa57-630b-4861-b058-cf58834340f0
2007-12-18 22:31:46 +00:00
dalcorso e66725e4a2 tvanp --> upf%tvanp.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4418 c92efa57-630b-4861-b058-cf58834340f0
2007-11-10 09:16:00 +00:00
dalcorso 7c129ee46c Phonon in the noncollinear and spin-orbit case. Routines with more complex
changes.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3768 c92efa57-630b-4861-b058-cf58834340f0
2007-02-08 13:40:53 +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
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 d1579c66ec Removed references (not yet everywhere) to module basis for those variables already in module ions_base.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@953 c92efa57-630b-4861-b058-cf58834340f0
2004-06-12 13:44:18 +00:00
giannozz df51dc0b2a More USPP variables moving around
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@937 c92efa57-630b-4861-b058-cf58834340f0
2004-06-01 21:22:19 +00:00
giannozz 47c5de62f8 More USPP_related variables moved to Modules/uspp.f90
Note that lqx => lmaxq for consistency with other names
(those ending in x are static dimensioning)
Beware unexpected side effects (PG)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@933 c92efa57-630b-4861-b058-cf58834340f0
2004-05-31 17:55:33 +00:00
giannozz 4a5732790a Part of the variables for ultrasoft pseudopotentials have been moved to a
new module uspp_param, shared between PW and CP (in file Modules/uspp.f90)
The flag newpseudo is no longer used to decide whether states with oc=0 are
bound or not: for those states, and only for the old RRKJ format, oc is set
to a negative value, and this signals that they are not bound. Not elegant
but simpler than it used to be. The converter to UPF format did not include
those states anyway. Beware unexpected side effects!


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@914 c92efa57-630b-4861-b058-cf58834340f0
2004-05-26 11:04:07 +00:00
giannozz 2da5c01765 becp = <beta|psi> allocated only when needed (except in phonon where it is
still allocated at the beginning) - misc cleanup


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@878 c92efa57-630b-4861-b058-cf58834340f0
2004-05-11 21:08:21 +00:00
giannozz 509459fc93 Cleanup in PH/ and D3/, setv removed (please verify collateral damages!)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@698 c92efa57-630b-4861-b058-cf58834340f0
2004-03-07 13:47:42 +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
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 871e3677b3 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@374 c92efa57-630b-4861-b058-cf58834340f0
2003-11-05 19:01:20 +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
degironc 92070bf269 more cleanup, mainly in PH dir
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@194 c92efa57-630b-4861-b058-cf58834340f0
2003-04-29 11:20:28 +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