Preprocessing flag -D__FFTMKL8 must be used (configure hasn't been
configured for this case). Whoever has access to MKL v.8 is invited
to try and to report if it works better than FFTW. Note from the author:
"it requires a minor bug correction in the MKL. It has been submitted
to Intel and will be integrated in their next release."
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3203 c92efa57-630b-4861-b058-cf58834340f0
- Changed format when writing a copy of the UPF file: for some reason
the free format adds an initial blank character, causing the program
to fail when reading (in fixed format) additional info for spin-orbit.
Format A is now used when writing, free format when reading. (AdC)
- More preprocessing cleanup and documentation: anybody having access
to weird machines is kindly requested to verify if things work
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2732 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
added example for phonon DOS; version number updated to 2.1 (PG)
Please start testing and debugging the next version, i.e., this one.
Note that reference data have to be updated for all examples.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1039 c92efa57-630b-4861-b058-cf58834340f0
as requested by Tone - examples updated with the exception of example12
(please verify if they are ok). Version number updated to 2.0 .
configure => configure.old, configure.new => configure
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@553 c92efa57-630b-4861-b058-cf58834340f0
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
kept fixed (Carlo Sbraccia)
"Total force" now prints a more sensible quantity:
\sqrt(\sum_{i,n} f_i(n)^2) instead of \sum_{i,n} |f_i(n)|
Cleanup in several routines and in modules.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@334 c92efa57-630b-4861-b058-cf58834340f0
The unit cell can be given using crystallographic parameters a, b, c,
(all in A), cosab cosac, cosbc . Misc. cleanup
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@263 c92efa57-630b-4861-b058-cf58834340f0
Band extraction moved out of PP/pp.x, into PP/bands.x
Band plotting program (PP/plotband.f90) added
Misc corrections
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@244 c92efa57-630b-4861-b058-cf58834340f0
Make.ibmsp modified to work without modifications for all codes
Misc minor changes. Initialization to zero added to regterg as well
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@179 c92efa57-630b-4861-b058-cf58834340f0
cegterg, regterg: use GEMM instead of GEMV, do not require
any longer evc, et to be dimensioned nbndx (et is now
dimensioned (nbnd,nkstot)) - misc. cleanup
Il calcolo di (H-eS)*psi ('update') nella diagonalizzazione iterativa
prendeva un tempo esagerato. L'ho modificata in modo da usare prodotti
matrice-matrice su tutti gli psi invece che matrice-vettore su ogni
psi, se piu' di 1/4 dei vettori non e' a convergenza. La cosa e' fatta
a naso e richiede ulteriori di prove, ma mi sembra che apporti dei
miglioramenti.
In TODO ho messo una lista di cose da fare.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@145 c92efa57-630b-4861-b058-cf58834340f0