Commit Graph

23 Commits

Author SHA1 Message Date
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
cavazzon 2aa910dda7 - fix in stress calculation for non linear core correction
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2211 c92efa57-630b-4861-b058-cf58834340f0
2005-09-23 12:50:54 +00:00
cavazzon 41c665b82b - Executable fpmd.x no more built, new calculation "fpmd" added, to
execute cp.x with fpmd flavour
 - stress for LSD calculation fixed ( but more test required )


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2190 c92efa57-630b-4861-b058-cf58834340f0
2005-09-18 23:49:24 +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
cavazzon 260828432d - FPMD: pseudopotential variable wsg, wnl, fnl substituted with
dion, beta, bec everyware.
- subroutines formfn, compute_beta, nlsm1, nlsm2, ecc ... now are common
  between FPMD and CPV, a lot of clean ups!
- Changes in stdout: relevant physical quantities ( positions velocities an cell )
  are now printed with the seme format of the corresponding input card,
  like in PW, as was suggested by SdG.
- exemple23 updated to reflect the new input namelist "wannier"
- Subroutine init_run now is used in FPMD too.
- WARNING in the stress computed with CP, for a pseudo with core-corrections,
  a contribution is missing! Not yet fixed, I need to talk with PG for the
  box staff.
- WARNING the examples reference are not updated, I'm on the IBM sp, and
  I prefer to update them from a linux machine.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2110 c92efa57-630b-4861-b058-cf58834340f0
2005-08-22 14:14:13 +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
cavazzon d3aabc5972 - pseudopotential base modules uspp_param and uspp now used
also in FPMD, for norm-conserving pseudo (like in CP)
- Few clean-ups in pseudopotential parameters initialization


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1880 c92efa57-630b-4861-b058-cf58834340f0
2005-05-18 21:01:05 +00:00
ballabio cc9d7d7b52 end subroutine --> end subroutine name [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1871 c92efa57-630b-4861-b058-cf58834340f0
2005-05-18 08:49:38 +00:00
sbraccia a00aac0e25 header containing the GPL license added where missing and made omogeneous.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1865 c92efa57-630b-4861-b058-cf58834340f0
2005-05-16 19:19:04 +00:00
ballabio 69c501c5f2 more end --> end subroutine [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1859 c92efa57-630b-4861-b058-cf58834340f0
2005-05-12 15:19:08 +00:00
cavazzon 193516156e - clean-ups, comments and merging
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1829 c92efa57-630b-4861-b058-cf58834340f0
2005-04-22 15:23:19 +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
cavazzon 8bf1d7a48f - more CP/FPMD merging, clean-ups.
- Standard output hopfully made more clear and common between CP/FPMD
 - common CP/FPMD initialization
 - fix for nat checking in cploop


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1775 c92efa57-630b-4861-b058-cf58834340f0
2005-03-30 18:08:01 +00:00
cavazzon b8a7f0bd86 - FPMD/CP90 ionic and electronic nose' thermostat merged
- clean-up


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1763 c92efa57-630b-4861-b058-cf58834340f0
2005-03-26 15:29:07 +00:00
cavazzon 8873f10501 - bug fix in FPMD, xc contribution to the stress and cell dynamics
restart


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1682 c92efa57-630b-4861-b058-cf58834340f0
2005-03-07 14:13:00 +00:00
cavazzon 878a9ebece - more cpv/fpmd merging
- FFT grid (nr1,nr2,nr3 nr1s,nr2s,nr3s) now can be specified in the
  input


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1671 c92efa57-630b-4861-b058-cf58834340f0
2005-03-02 10:03:55 +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
cavazzon 89ab8f3e55 - FPMD files added to CPV directory
- FPMD directory is no more needed


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1479 c92efa57-630b-4861-b058-cf58834340f0
2004-11-25 14:51:47 +00:00