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
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
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
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
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
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
- 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
- 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
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
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
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
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