Commit Graph

21 Commits

Author SHA1 Message Date
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 f3cd434235 Cleanup.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5791 c92efa57-630b-4861-b058-cf58834340f0
2009-08-01 14:52:34 +00:00
dalcorso 8b656e4305 Another small change to phonon. After recent changes, variable domag is no
more necessary in several routines.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5437 c92efa57-630b-4861-b058-cf58834340f0
2009-02-19 16:38:12 +00:00
dalcorso 9ee2377238 Cleanup of the phonon code. In the noncollinear case, the spin
indeces are calculated only once, not in every routine.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5380 c92efa57-630b-4861-b058-cf58834340f0
2009-02-04 17:18:31 +00:00
dalcorso 1d2ceae531 Minor cleanup of the phonon code (part 2). USE phcom and USE pwcom
substituted by multiple USE statements.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5368 c92efa57-630b-4861-b058-cf58834340f0
2009-02-04 08:28:27 +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
degironc fab8c49e9c scf_mod again..
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4382 c92efa57-630b-4861-b058-cf58834340f0
2007-11-01 11:19:31 +00:00
degironc d5387129e5 module scf has been separated from PW/pwcom.f90 (put in PW/scf_mod.f90) in
order to reorganize the variables needed for mixing and scf cycle.
More changes will follow....


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4379 c92efa57-630b-4861-b058-cf58834340f0
2007-10-31 14:28:18 +00:00
dalcorso 89181afadb Added the possibility to make noncollinear/spin-orbit GGA phonon calculation.
(Still very experimental).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4201 c92efa57-630b-4861-b058-cf58834340f0
2007-09-03 07:20:09 +00:00
dalcorso 69c1fd137a Phonon in the noncollinear and spin-orbit case. Routines with small changes.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3766 c92efa57-630b-4861-b058-cf58834340f0
2007-02-08 13:07:07 +00:00
dalcorso 72ebd925a1 Added two flags, lrpa and lnoloc to print the dielectric constant
calculated with DV_xc=0 (RPA), or with DV_H=0 and DV_xc=0.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3571 c92efa57-630b-4861-b058-cf58834340f0
2006-11-27 08:58:23 +00:00
degironc 91433749f9 More small changes to funct module, some clean up of the EXX part.
stefano


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2420 c92efa57-630b-4861-b058-cf58834340f0
2005-11-04 11:47:42 +00:00
degironc c209f8233b Modules/functionals.f90 modified.
The idea is that module funct contains data defining the DFT functional in use
and a number of functions and subroutines to manage them.
Data are PRIVATE and are (shuold be) accessed and set only by function calls.
Basic drivers to compute XC quantities are also included.

It should be the main place where definitions for and calculation of xc
functionals are centralized.

In CPV printout [A.U.] replaced by [HARTREE A.U.] in many places.

stefano


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2411 c92efa57-630b-4861-b058-cf58834340f0
2005-11-02 15:42:06 +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
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
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 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