Commit Graph

52 Commits

Author SHA1 Message Date
giannozz dda5f85506 More USPP cleanup (or maybe mess-up) and memory reduction
Only CP compiles right now, the rest is coming soon


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2872 c92efa57-630b-4861-b058-cf58834340f0
2006-03-07 13:26:52 +00:00
giannozz f9143583a4 More pseudopotential cleanup - unexpected side effects are possible
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2870 c92efa57-630b-4861-b058-cf58834340f0
2006-03-06 13:31:27 +00:00
giannozz aa7aa03999 - memory usage of arrays qradb, dqrad reduced whenever the maximum number
of beta functions is smaller than the fixed maimum nbrx
- routines for herman-skillman integration moved together to other
  integration routines in flib/ . We should one day decide which one of
  these routines should be used: they all do basically the same thing
- routine reading ultrasoft PP in the old Vanderbilt format moved to
  Modules/. More USPP cleanup coming soon.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2868 c92efa57-630b-4861-b058-cf58834340f0
2006-03-06 10:39:38 +00:00
giannozz fe1fe465c7 Misc cleanud and removal of old/obsolete/mysterious preprocessing
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2721 c92efa57-630b-4861-b058-cf58834340f0
2006-01-24 15:54:22 +00:00
giannozz ec9478d16c Module "qrl" no longer needed, removed
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2698 c92efa57-630b-4861-b058-cf58834340f0
2006-01-13 13:53:35 +00:00
giannozz e0a17780ba The qrl functions, i.e. Q_ij(r) split into l-components, are now fit to
the "conventional" Vanderbilt (qfunc+qfcoef) form if this is not available.
This removes a major difference between CP and PW in the treatment of USPP.
Only the 1.0.0 Vanderbilt format written by some obsolete version of the
Vanderbilt code should be affected, but beware unintended side effects!!!


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2693 c92efa57-630b-4861-b058-cf58834340f0
2006-01-10 11:20:56 +00:00
giannozz 17638b6e24 Bug fix: CP yielded bad results with RRKJ3 US PP in old format
Same PP in UPF format were not affected - spotted by Matteo C.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2600 c92efa57-630b-4861-b058-cf58834340f0
2005-12-16 19:56:08 +00:00
giannozz b40aa35fb8 CP stops instead of crashing if a pseudopotential file is not found;
the type of PP format is reported in a slightly less obscure way


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2596 c92efa57-630b-4861-b058-cf58834340f0
2005-12-15 22:40:35 +00:00
giannozz aed2eca96f Cleanup of the Ultrasoft PP: variable "cmesh", used only for PP in the
archaic USPP format with Herman-Skilman grid, removed. The integration
is now performed used the same logic (but not yet the same routine) of
the other cases.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2536 c92efa57-630b-4861-b058-cf58834340f0
2005-12-01 17:25:22 +00:00
giannozz 8f9fae13dc The "qrl" array - used for compatibility with old Vanderbilt format -
takes 200Mb with default parameters! Reduced to almost half by using
the symmetry wrt index exchange.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2439 c92efa57-630b-4861-b058-cf58834340f0
2005-11-08 10:04:52 +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
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
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
degironc eafe340169 special module Modules/metagga.f90 removed.
The "ismeta" variable has been included in Modules/functionals
and calls to which_dft has been simplified.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2094 c92efa57-630b-4861-b058-cf58834340f0
2005-08-08 15:55:06 +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 cce74f74c8 Fixed the a bug in the metagga.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2020 c92efa57-630b-4861-b058-cf58834340f0
2005-07-13 19:03:32 +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 b5fa8ee14b - cell_base, added support for cell input units, ex: CELL_PARAMETERS (angstrom)
- core charge, same module between CPV and FPMD
- Makefile: added dependency between "mods" and "libiotk"
- Makefile: fix for dependencies in PH and Gamma when __NEWPUNCH is defined


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1995 c92efa57-630b-4861-b058-cf58834340f0
2005-07-04 10:34:44 +00:00
cavazzon dbf279e1c3 - restart tags now using those suggested by CS
- flags for core cor. (nlcc, nlcc_any) used in FPMD too
- fixed a bug in read_pseudo.f90 ( related to nlcc )
- other merging anc clean-ups


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1971 c92efa57-630b-4861-b058-cf58834340f0
2005-06-22 08:28:08 +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 348adb1cc1 end --> end function [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1868 c92efa57-630b-4861-b058-cf58834340f0
2005-05-17 16:46: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 06b27d95f6 - ylmr2 (from flib) nown used to compute spherical harmonics in FPMD and
qqberry too.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1851 c92efa57-630b-4861-b058-cf58834340f0
2005-05-08 21:10:20 +00:00
cavazzon f98847f085 - subroutines formfn, compute_rhops have been made code independent and used
by both CP and FPMD
- Now FPMD and CP use the same random wave functions initialization,
  which is also independent from the number of processors,
  very useful for debugging.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1836 c92efa57-630b-4861-b058-cf58834340f0
2005-04-28 15:27:41 +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 c627b6ed03 obsolete variable 'ipp' describing the type of PP replaced by more
self-explanatory (maybe) variables, mostly already there


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1764 c92efa57-630b-4861-b058-cf58834340f0
2005-03-27 20:05:06 +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 03a8a9495e - bug fix in conversion from upf to fpmd internal format
(it appens when betas are not in the order of l = 0, 1, 2 ... )


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1673 c92efa57-630b-4861-b058-cf58834340f0
2005-03-02 11:00:30 +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 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 804ac1fdcf - CP/FPMD merging and clean-up
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1486 c92efa57-630b-4861-b058-cf58834340f0
2004-11-28 22:11:41 +00:00
cavazzon 8fce6bd495 - more CP/FPMD merging
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1485 c92efa57-630b-4861-b058-cf58834340f0
2004-11-26 19:22:35 +00:00
giannozz ffcadc34c1 Modules becmod, rbecmod (one variable each) merged into a single module
(with two variables...) - More USPP merge


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@954 c92efa57-630b-4861-b058-cf58834340f0
2004-06-12 20:37:01 +00:00
giannozz 598adf557a More USPP_related variables moved to Modules/uspp.f90
Note that nhx => nhm for consistency with other names
(those ending in x are static dimensioning)
Parameter ipp no longer needed: PP name convention as in PWscf (PG)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@932 c92efa57-630b-4861-b058-cf58834340f0
2004-05-31 17:52:55 +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 d69e112706 More PP cleanup
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@828 c92efa57-630b-4861-b058-cf58834340f0
2004-04-28 10:25:36 +00:00
giannozz 150ae509f3 more pseudopotential cleanup
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@824 c92efa57-630b-4861-b058-cf58834340f0
2004-04-27 13:44:55 +00:00
giannozz d11e803883 PP cleanup and merge: rucore => vloc_at
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@822 c92efa57-630b-4861-b058-cf58834340f0
2004-04-26 15:02:25 +00:00
giannozz d198ebad0c ndm, mmaxx => ndmx ; 0:ndm => ndmx (starting from 0 no longer needed)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@815 c92efa57-630b-4861-b058-cf58834340f0
2004-04-23 17:10:44 +00:00
giannozz 118fd9975c funct.f90 and which_dft moved to Modules/functionals.f90
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@811 c92efa57-630b-4861-b058-cf58834340f0
2004-04-22 14:28:37 +00:00
cavazzon 6ad165c90a outdir added to the path of the output and restart files,
pseudopotential reading moved out from cprmain subroutine


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@608 c92efa57-630b-4861-b058-cf58834340f0
2004-02-17 09:53:14 +00:00
cavazzon 962296d977 deallocation statements added to CPV
for neb like dynamics


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@601 c92efa57-630b-4861-b058-cf58834340f0
2004-02-16 09:53:00 +00:00
giannozz 7d4d6c7fc5 Added consistency check on DFT read from PP files
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@304 c92efa57-630b-4861-b058-cf58834340f0
2003-09-09 08:52:21 +00:00
cavazzon 6ca8b2ce58 more merging, "only" keyword added to many "use"
io_base: strings with the name of the data sections added to the
restart file, this will allow R/W of data sections in any order


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@257 c92efa57-630b-4861-b058-cf58834340f0
2003-07-06 21:47:17 +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 ea67299117 CP + UPF bug fixed, examples updated, name cpv changed to cp, etc etc
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@45 c92efa57-630b-4861-b058-cf58834340f0
2003-02-02 17:52:18 +00:00