Commit Graph

15 Commits

Author SHA1 Message Date
giannozz 6f52984cd2 Only one random number generator is used everywhere ("randy", which
seems to be the most uniform). Beware all kinds of unexpected side
effects.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5272 c92efa57-630b-4861-b058-cf58834340f0
2008-11-05 20:25:20 +00:00
dalcorso d3b31c3cc3 A tentative to improve the phonon recover.
Introduced four new input variables:

start_q, last_q  Makes the phonon calculation for a subset of the q points.
                 From start_q to last_q.

start_irr, last_irr Makes the phonon calculation for a subset of the
                 irreducible representations.

Removed the input variable maxirr.

Starting k points now written in the punch file.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5066 c92efa57-630b-4861-b058-cf58834340f0
2008-07-23 08:46:48 +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
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
sbraccia 0caeadbd7b Machine-dependent definitions are now contained in two different files (both in /include):
1) f_defs.h  for definitions to be included in FORTRAN files ONLY
   2) c_defs.h  for definitions to be included in C       files ONLY

C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1012 c92efa57-630b-4861-b058-cf58834340f0
2004-06-25 17:25:37 +00:00
sbraccia cbc1f05d29 All references to mpif.h and to the subroutine check.f90 removed by the PWscf and related codes.
If noone disagrees I'll remove the routine check.f90 and all the routines moved in para.f90.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@730 c92efa57-630b-4861-b058-cf58834340f0
2004-03-16 18:14:34 +00:00
giannozz 581e56d3ec Two instances of the same variable in efg.f90 (found by Antonio Tilocca)
Cleanup, doc, workaround for yet another ifc8 bug, no more #ifdef ZHEGVX


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@722 c92efa57-630b-4861-b058-cf58834340f0
2004-03-15 10:07:07 +00:00
giannozz 0b1a5c9fd8 Extensive module cleanup: DP moved from wrong place (parameters) to the
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
2004-01-23 15:08:03 +00:00
sbraccia 871e3677b3 Unit stdout (set in Modules/io_global.f90) is used to write on standard output
instead of 6 or *.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@374 c92efa57-630b-4861-b058-cf58834340f0
2003-11-05 19:01:20 +00:00
giannozz a0cc0b1d7e - call to dvqpsi_us in PH/elphon.f90 updated with recent
recent changes (could cause core dump)
- local_dos.f90 compilation error in parallel case
- more mpi_bcast => mp_bcast, misc. cleaning


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@131 c92efa57-630b-4861-b058-cf58834340f0
2003-03-21 16:20:59 +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 d852392cab module allocate, calls to mallocate, mfree removed
pointers replaced by allocatable whenever possible


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@56 c92efa57-630b-4861-b058-cf58834340f0
2003-02-07 16:04:36 +00:00
degironc ab01d26790 in phcom.f90 introdotta variabile max_irr_dim (diemsione massima concessa
per le rapresentazioni irriducibili)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@23 c92efa57-630b-4861-b058-cf58834340f0
2003-01-27 16:42:47 +00:00
giannozz ac9f2144c0 O-sesame
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2 c92efa57-630b-4861-b058-cf58834340f0
2003-01-19 21:58:50 +00:00