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
- correct an unquoted string (iosys) in PW/input.f90:483
(this was the cause of tonight compilation failere)
- correct a few incorrect format strings
- make more use of the constants module and thus
provide more consistent units. NOTE, this has some
numerical changes in the outputs, as in some places
rather low precision and inconsistent numbers were
used for unit conversion.
- convert all(?) single precision constants to double
using the attached little perl program.
exceptions: efermi.f90 (as it is supposed to be rewritten
anyways), plotbands.f90 (it uses single precision everywhere,
which may result in saving a significant amount of memory,
so i converted the two double precision constants to single).
Unused routine 'set_fft_grid' removed
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3602 c92efa57-630b-4861-b058-cf58834340f0
- disable locales via use of LC_ALL=C in all shell scripts
(which will hopefully make sorted lists more consistent
between people running with different locales).
- remove redundant files from PW, NMR_new, VdW, VIB;
rename subroutines if their functionality is noI
unchanged from the original source it was taken from.
- corresponding updates to Makefiles and dependencies.
- whitespace cleanups (eleminate remaining tabs).
- a few more float->DBLE
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3596 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
Modified copyright notice to make it compatible with script
"check_license"
efg: added missing broadcast of a variable
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1729 c92efa57-630b-4861-b058-cf58834340f0
( cell_move in Module/cell_base.f90 )
- More input parameters check in Module/read_namelists
- For CP, restart file is saved in working directory like in FPMD
and not in output_dir where MD data are saved, this is because
usually one keep MD trajectories in home dir.
- added pseudopotential for wannier dynamics example
- added Wannier postprocessing (from Manu Sharma )
- fixed a small bug for FPMD and 'diis' electron dynamics
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1083 c92efa57-630b-4861-b058-cf58834340f0