Commit Graph

15 Commits

Author SHA1 Message Date
giannozz 0fa4fcdd1e LDA+U output less verbose and less confusing (maybe). Minor changes
here and there.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4516 c92efa57-630b-4861-b058-cf58834340f0
2007-12-11 18:43:23 +00:00
degironc a6b0fea63d more changes in scf_mod. mix_rho is getting simpler and more transparent,
scf_mod contains more stuff, but it should be rather simple.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4419 c92efa57-630b-4861-b058-cf58834340f0
2007-11-10 15:07:51 +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 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
ballabio ed71e7ff5d small fix on some formats (1x in place of x) [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@856 c92efa57-630b-4861-b058-cf58834340f0
2004-05-06 11:00:16 +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
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
sbraccia 24ce939aeb 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@365 c92efa57-630b-4861-b058-cf58834340f0
2003-11-04 10:53:05 +00:00
degironc 0deeeaba5b 30 Jul 2003 indexing of the occupation matrices (ns,nsnew, etc) used in
LDA+U has been redefined in a more natural order:
             ns(na,is,ldim,ldim) -> ns(ldim,ldim,is,na)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@281 c92efa57-630b-4861-b058-cf58834340f0
2003-07-31 12:54:09 +00:00
degironc 7bf0c09bf6 20 mar 2003 - relaxation using damped dynamics can be used keeping fixed
last fixatom atoms (with the same input procedure as the bfgs
             minimization).
             - LDA+U part has been modified in order run also in the not
             spin-polarized case (some testing still neeeded).
             - Davidson diagonalization returns best estimate for
             eigenvalues and eigenvectors also in the case that not all
             roots have converged. This is more consistent and should
             somehow alleviate the problem of WARNING messages in scf and
             band structure run.
             - Number of beta function in pseudopotentials increased to 8.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@130 c92efa57-630b-4861-b058-cf58834340f0
2003-03-20 11:21:34 +00:00
giannozz e218107050 error => errore in write_ns
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@94 c92efa57-630b-4861-b058-cf58834340f0
2003-02-25 16:44:57 +00:00
degironc 173ec9a2ea minor changes in LDA+U and formatting
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@93 c92efa57-630b-4861-b058-cf58834340f0
2003-02-25 13:43:33 +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