Commit Graph

23 Commits

Author SHA1 Message Date
degironc ea12898a5d first implementation of Martyna-Tuckerman method to decouple periodic
images in a cluster calculation.  Still to be tested in parallel, it
 has been tested for Gamma vs 0 0 0 and for nspin=1 and 2. Forces seem
 to be ok. In the few cases considere there is no significant increase
 of workload with respect to the periodic calculation.

 plot_io.f90 moved from PP to flib because it may be needed
 in PW/martyna_tuckeman.f90 for debugging and in this way circular
 references are avoided. It only USE low-level modules like io_global,
 kinds, and constants so it should be ok.

 Module ws_base.f90 added in Modules. It deals with basic operations
 associated to Wigner-Seitz cell. The implementation should be general;
 it has been tested for SC and FCC only.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5911 c92efa57-630b-4861-b058-cf58834340f0
2009-09-09 12:59:40 +00:00
giannozz 3cd50d0257 More cleanup: spelling of Quantum ESPRESSO, CMPLX explicitly cast, f_defs.h
removed, a few REAL transformed into DBLE. Note that my previos statement
about REAL is overblown: REAl(C) is perfectly safe if C is a double precision
complex number. All changes should be safe.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5793 c92efa57-630b-4861-b058-cf58834340f0
2009-08-01 17:48:59 +00:00
paulatto 70d00cdb8d Fixed a big that prevented relax calculation with sawtooth potential from
working correctly. Printing of infos on stdout has been made clearer and
not redundant for parallel runs.
LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5144 c92efa57-630b-4861-b058-cf58834340f0
2008-08-28 12:09:48 +00:00
cavazzon 6e6630adbe - reduce replaced by mp_sum
- sub. reduce, removed from para!


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4826 c92efa57-630b-4861-b058-cf58834340f0
2008-04-20 21:23:37 +00:00
giannozz bdae2b6cb1 Cleanup of wavefunction initialization. Since I wasted two hours hunting
for a bug, before I realized that there were two copies of "gamma_only",
I wasted two more hours to iuse a single value of "gamma_only" (the one
oin control_flags).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4468 c92efa57-630b-4861-b058-cf58834340f0
2007-11-22 14:23:04 +00:00
degironc fab8c49e9c scf_mod again..
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4382 c92efa57-630b-4861-b058-cf58834340f0
2007-11-01 11:19:31 +00:00
dalcorso 89c1532127 Bug fix: v_of_0 was uncorrect in the parallel case.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4007 c92efa57-630b-4861-b058-cf58834340f0
2007-07-08 05:44:51 +00:00
giannozz 17bb64fd14 Minor cleanup: v(0) calculated together with v; non_scf routine
put into a separate file


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3707 c92efa57-630b-4861-b058-cf58834340f0
2007-01-23 17:31:15 +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 44fa24b7a5 Bug fix: plot_num=12 was not working.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1772 c92efa57-630b-4861-b058-cf58834340f0
2005-03-30 15:44:17 +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 d1579c66ec Removed references (not yet everywhere) to module basis for those variables already in module ions_base.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@953 c92efa57-630b-4861-b058-cf58834340f0
2004-06-12 13:44:18 +00:00
degironc 2cc18d09d3 24 May 2004 density/potential mixing procedure in presence of an electric
field has been changed.
              - Density mixing is now available.
              - Explicit mixing of the dipole moment in potential mixing has
                been removed (in my opinion it was spurious).
              If anybody experiences bad convergence with the present scheme
              please let me know. (SdG)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@908 c92efa57-630b-4861-b058-cf58834340f0
2004-05-24 16:00:40 +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
cavazzon 9ce7263953 - bug (alpha compiler) reported by Sergey has been fixed
- module filnam in pwcom moved to io_files module
- module units in pwcom moved to io_file

From now on, all file names and their unit and attributes (i.e. reclen)
should be defined in Modules/io_files.f90


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@382 c92efa57-630b-4861-b058-cf58834340f0
2003-11-09 18:30:08 +00:00
giannozz e34c8c50e3 Several Gamma-specific routines merged into PW/
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@356 c92efa57-630b-4861-b058-cf58834340f0
2003-10-29 18:53:40 +00:00
cavazzon 1625356cb6 - arrays ipc ipcs icpl icpls substituted by
data structures dfftp dffts

- small bug fixed in setlocal.f90


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@254 c92efa57-630b-4861-b058-cf58834340f0
2003-07-01 10:11:55 +00:00
dalcorso 9de24e53b5 Energy and forces with a finite electric field.
Added the possibility to subtract the dipole field
for slab or molecule calculation.
(See  PRB 59, 12 301 (1999) and PRB 63, 205426 (2001).)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@252 c92efa57-630b-4861-b058-cf58834340f0
2003-06-30 14:09:05 +00:00
degironc c830a68c37 22 apr 2003 All setv statements in PW repalaced by f90 constructs.
Minor changes in PW & PH (code readability).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@178 c92efa57-630b-4861-b058-cf58834340f0
2003-04-22 16:03:45 +00:00
dalcorso 513f48608f Introdotto il calcolo del dipolo di cariche localizzate al centro della
cella unitaria in chdens (utile solo per molecole isolate).
Introdotta la possibilita' di aggiungere un potenziale a forma di dente
di sega al potenziale degli ioni per simulare un campo elettrico
finito. (by J. Tobik)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@141 c92efa57-630b-4861-b058-cf58834340f0
2003-04-03 15:35:36 +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
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