Commit Graph

342 Commits

Author SHA1 Message Date
cavazzon da4450417d - module random_numbers moved from flib to Modules to avoid
circular dependency. All general purpouse modules should go in
  directory Modules!


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2769 c92efa57-630b-4861-b058-cf58834340f0
2006-02-04 14:06:28 +00:00
sbraccia 24a1b85544 Makefiles updated.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2766 c92efa57-630b-4861-b058-cf58834340f0
2006-02-03 18:42:08 +00:00
giannozz 3831a5e7cf - compilation problem in plan_avg fixed
- add check on end-of-file when reading k-points. A mistake in the
  specification of k-points could lead to a strange crash with no
  apparent reason


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2756 c92efa57-630b-4861-b058-cf58834340f0
2006-02-02 15:20:26 +00:00
giannozz 8eda231bbb - Variable cell: use Cesar Da Silva's version of the damping algorithm
(he claims it is more tested); documentation updated (sort of)
- routines find_free_unit, delete_if_present, moved from 'parser'
  to 'io_files' (it is a more natural place)
- routines int_to_char moved from 'parser' to flib/ (it is quite
  unrelated with the rest of the module)
- routine trimcheck moved from flib/ to 'io_files' (more natural place)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2753 c92efa57-630b-4861-b058-cf58834340f0
2006-02-01 17:56:16 +00:00
dalcorso 85d932cbc3 Planar average generalized to the non collinear case.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2750 c92efa57-630b-4861-b058-cf58834340f0
2006-01-31 17:49:36 +00:00
giannozz 0d6fa99b88 Added check on the presence of a slash at the end of outdir everywhere.
Since it is done in 100 places, I added a small function 'trimcheck'


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2749 c92efa57-630b-4861-b058-cf58834340f0
2006-01-31 17:22:28 +00:00
sbraccia a5eeeee8c5 All functions used to generate random number collected in a single module. Added two routines
random numbers from a normal distribution.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2725 c92efa57-630b-4861-b058-cf58834340f0
2006-01-25 04:24:49 +00:00
dalcorso 6a254fb1c2 Projwfc generalized to noncollinear and spin-orbit cases (still experimental).
Contributed by R. Mazzarello.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2718 c92efa57-630b-4861-b058-cf58834340f0
2006-01-20 14:28:51 +00:00
cavazzon 9f624554e6 - bug fix, statement out of order
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2717 c92efa57-630b-4861-b058-cf58834340f0
2006-01-20 13:34:53 +00:00
cavazzon 265daacb70 - bug fix for parallel build
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2716 c92efa57-630b-4861-b058-cf58834340f0
2006-01-20 13:30:51 +00:00
giannozz c8472f5984 Calculation of planar averages of wavefunctions moved out of pp.x
into a separate code (plan_avg.x). Output file should be the same.
Completely untested: it compiles, no warranty that it works!


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2714 c92efa57-630b-4861-b058-cf58834340f0
2006-01-19 17:59:10 +00:00
giannozz 98c63ca797 - Miscellaneous fixes of compilation errors left after last changes
- support for cray-xt3 (courtesy of Axel Kohlmeyer)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2707 c92efa57-630b-4861-b058-cf58834340f0
2006-01-15 20:18:53 +00:00
dalcorso b5004a2b85 Added the possibility to plot the contribution of each orbital
to the magnetization density. Only for the noncollinear case.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2681 c92efa57-630b-4861-b058-cf58834340f0
2006-01-03 15:26:21 +00:00
dalcorso 001aa68a99 Mixing of scalar relativistic and fully relativistic pseudopotentials in
PP routines.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2679 c92efa57-630b-4861-b058-cf58834340f0
2006-01-03 15:08:13 +00:00
degironc 097ebe0122 pw->wannier90 interface: guiding function phase factor fixed.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2648 c92efa57-630b-4861-b058-cf58834340f0
2005-12-23 09:41:22 +00:00
degironc b905dd4f58 improved version of pw->wannier90 interface ...
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2642 c92efa57-630b-4861-b058-cf58834340f0
2005-12-22 14:01:00 +00:00
giannozz fe36de1c1b Oops, forgotten module splinelib after yesterday's change ...
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2639 c92efa57-630b-4861-b058-cf58834340f0
2005-12-22 11:23:33 +00:00
degironc 3b95191071 Initial version of the interface from pw to wannier90 (Nicola Marzari et al., www.wannier.org).
Not working yet.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2626 c92efa57-630b-4861-b058-cf58834340f0
2005-12-21 08:51:04 +00:00
sbraccia 209703222c Added missing dependency. C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2603 c92efa57-630b-4861-b058-cf58834340f0
2005-12-17 20:02:00 +00:00
degironc e28966f45a Fixed problem with ibrav=0 in the chain ph.x -> q2r.x -> matdyn.x
If ibrav=0 ph.x write also  at(3,3) and symm_type and so do q2.x and matdyn.x
It could actually be simpler to always write/read at(3,3) and symm_type and
forget about ibrav and celldm ...

latgen modified so that it deals properly with ibrav=0 case.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2543 c92efa57-630b-4861-b058-cf58834340f0
2005-12-02 14:51:57 +00:00
degironc c8653b45fe PWscf: defining variable tqr=.true. in system namelist, Augmentations
charges are computed in real space only in spheres around the atoms and
these patches are added to rho on the dense fft grid.

Affected routines: addusdens and newd.

Should scale linearly with system size, as opposed to the quadratic
scaling of the G-space implentation.

Experimental version:
 - no forces nor stress yet.
 - parallel version to be tested
 - not to mention phonon and the other codes ...

DISCLAIMER

There are accuracy issues to be understood better, we may need properly
modifies pseudopotentials in order to avoid (or reduce) errors when
ecutrho is still insufficient to describe all Fourier components of the
augmentation charge.
In this case (that is nearly always) also the usal G-space has errors
(negative charges for molecules and surfaces, for instance) but they are
usually small and we are used to live with them.
Some experience is needed to understand the relevance of the error related
to R-space augmentation charges.
CP has R-space augmentation with small-boxes.
They also produce some different, usually small, errors.
I think (I may be wrong) this is the origin of the fact that sometime PWscf
and CP total energies are not exactly the same.

SdG and Antonio Suriano


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2531 c92efa57-630b-4861-b058-cf58834340f0
2005-11-30 15:49:59 +00:00
giannozz 7fb0f488da Bug fix for spin-polarized case (Andrea Ferretti)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2490 c92efa57-630b-4861-b058-cf58834340f0
2005-11-18 14:02:25 +00:00
giannozz 505924c7a8 Final small changes
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2485 c92efa57-630b-4861-b058-cf58834340f0
2005-11-17 08:27:33 +00:00
giannozz afcb40bc62 Minor change + auxilary code ot sum PDOS by Andrea Ferretti
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2448 c92efa57-630b-4861-b058-cf58834340f0
2005-11-09 17:06:21 +00:00
dalcorso 33c97ffce1 Bands.x calculates the expectation value of the spin operator on each
spinor wave-function.
(A. Smogunov and ADC)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2427 c92efa57-630b-4861-b058-cf58834340f0
2005-11-07 11:07:36 +00:00
degironc 8ee04e7bcb projwfc.f90 sorting of projections modified (use hpsort_eps)
As projections are printed to sdout with 3 decimal digids, (sorted by
magnitude, in decreasing order), projections differing by less than 1.d-4
are considered equal so that output does not depend on phase of the moon

stefano


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2414 c92efa57-630b-4861-b058-cf58834340f0
2005-11-02 17:26:51 +00:00
dalcorso 4935c333a2 Bug fix: sometimes bands was not working in the noncollinear case.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2412 c92efa57-630b-4861-b058-cf58834340f0
2005-11-02 15:53:46 +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
dalcorso 71c38d9494 Changed symmetrization in the non-collinear case.
(A. Smogunov and ADC)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2326 c92efa57-630b-4861-b058-cf58834340f0
2005-10-21 13:01:42 +00:00
ballabio 670f4b64d5 now configure checks separately for serial and parallel compilers [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2258 c92efa57-630b-4861-b058-cf58834340f0
2005-10-05 18:11:25 +00:00
giannozz 268ec1bbdf First attempt to fix the postprocessing in the parallel case
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2250 c92efa57-630b-4861-b058-cf58834340f0
2005-10-03 16:44:07 +00:00
ballabio 235d96d71e separated LDFLAGS and LIBS [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2247 c92efa57-630b-4861-b058-cf58834340f0
2005-09-29 13:17:39 +00:00
giannozz 34269e6856 List of g^2 was incorrect in parallel case
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2210 c92efa57-630b-4861-b058-cf58834340f0
2005-09-23 08:59:57 +00:00
sbraccia 62a8352bce Bug fix: clean_pw requires a non optional input variable (logical).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2191 c92efa57-630b-4861-b058-cf58834340f0
2005-09-19 03:30:56 +00:00
giannozz 752006d295 Defaults updated to prevent problem if namelist &plot is present but empty
Documentation updated


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2184 c92efa57-630b-4861-b058-cf58834340f0
2005-09-15 17:31:46 +00:00
giannozz 379adf7694 - xlf doesn't like the syntax used to initialise arrays of strings
- gaussian cube format assumed nr1=nrx1 and so on


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2182 c92efa57-630b-4861-b058-cf58834340f0
2005-09-15 15:28:53 +00:00
giannozz 7cf398eeec More tweaking with post-processing
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2175 c92efa57-630b-4861-b058-cf58834340f0
2005-09-14 12:48:59 +00:00
giannozz ee9644ff8f chdens.x merged into pp.x - all functionalities are still there
and it is still possible to do the two steps independently.
The output is basically the sum of the two outputs with minor
differences. Documentation and examples updated, GUI not yet.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2174 c92efa57-630b-4861-b058-cf58834340f0
2005-09-13 20:30:18 +00:00
sbraccia 3f4d0ff92b Some cleanup of the xml punch file: now the pseudopotential is properly
written and read. Added some consistency checks. Postprocessing programs
not yet working (at least not all of them).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2144 c92efa57-630b-4861-b058-cf58834340f0
2005-08-30 21:10:04 +00:00
giannozz 1e42e05f69 error (..., -1) => infomsg
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2142 c92efa57-630b-4861-b058-cf58834340f0
2005-08-30 16:27:58 +00:00
sbraccia e0e17e962b More merge between xml routines used by cp/fpmd and pwscf. Many fixes in the
pwscf set of drivers that read the xml punch file.
Now the postprocessing codes that use the read_file routine to read the punch
file should work (please check).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2138 c92efa57-630b-4861-b058-cf58834340f0
2005-08-29 20:29:22 +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
dalcorso 8bad2898c6 Added a check on spin_component.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2132 c92efa57-630b-4861-b058-cf58834340f0
2005-08-26 09:31:58 +00:00
dalcorso e3b06fa54d Merging of gradcorr.f90 and gradcorr_nc.f90.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2128 c92efa57-630b-4861-b058-cf58834340f0
2005-08-24 16:47:19 +00:00
ballabio 15638c92bc add & for continuation, g95 wanted it [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2104 c92efa57-630b-4861-b058-cf58834340f0
2005-08-17 12:37:51 +00:00
umari 26baecafdb added support for electric field in PW
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2100 c92efa57-630b-4861-b058-cf58834340f0
2005-08-16 12:57:18 +00:00
degironc e4ed1c4bff unused PW/dndtau.f90 removed, makefile updated accordingly
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2096 c92efa57-630b-4861-b058-cf58834340f0
2005-08-09 16:58:38 +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
giannozz abe6c16f6b More cleanup of the dipole/MAakovPayne stuff
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2090 c92efa57-630b-4861-b058-cf58834340f0
2005-08-05 08:25:46 +00:00