Commit Graph

55 Commits

Author SHA1 Message Date
giannozz 3ee0e520b6 More variable unification: module gvecs and gsmooth merged (new name: gvecs),
module gvect, gvecp, reciprocal_vectors merged (new name: gvect)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7348 c92efa57-630b-4861-b058-cf58834340f0
2010-12-24 10:19:22 +00:00
degironc 33a5384442 import vdw_DF project on main CVS.
R.Sabatini and SdG


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7208 c92efa57-630b-4861-b058-cf58834340f0
2010-11-12 15:54:39 +00:00
giannozz 08d96590f9 More merge of grid dimensions:
1) variables nrxx, nr[123][x] moved from gvect to grid_dimensions
2) when the FFT descriptor, fdfftp, is presewnt, values contained
   in the descriptor are used instead
Beware unintended side effects.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7167 c92efa57-630b-4861-b058-cf58834340f0
2010-10-26 08:28:22 +00:00
giannozz 987f75d2bb New fft interface routines fwftt/invfft used in PW/ instead of old cft3/cft3s.
I have left the redundant specification of the descriptor, for the time being.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7019 c92efa57-630b-4861-b058-cf58834340f0
2010-08-27 07:13:47 +00:00
giannozz 0cbeca23b8 Yet Another Unitialized Variable
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6602 c92efa57-630b-4861-b058-cf58834340f0
2010-04-08 12:37:21 +00:00
giannozz 08edc95a04 The previous commit wasn't actually working, due to the logic (or lack of it)
of add_efield. That piece of code is screwed beyond repair and should be
rewritten from scratch.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6560 c92efa57-630b-4861-b058-cf58834340f0
2010-03-27 13:50:54 +00:00
giannozz 8fe3450b6e Yet another unset variable. Please note that variables defined as intent(out)
MUST be initialized to something in any case


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6559 c92efa57-630b-4861-b058-cf58834340f0
2010-03-27 13:28:51 +00:00
giannozz 7b63f310dd Nasty memory leak fixed
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6033 c92efa57-630b-4861-b058-cf58834340f0
2009-10-17 06:52:56 +00:00
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
giannozz 134f077ee9 There were a few occurrences of "cmplx(a,b)" (lowercase, not preprocessed).
This is a very bad thing since the result is returned in single precision.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5783 c92efa57-630b-4861-b058-cf58834340f0
2009-07-31 16:37:18 +00:00
ccavazzoni fd57cd39a5 - further OpenMP parallelization, no fortran lines have been changed,
so no new bug is expected for non OpenMP build.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5718 c92efa57-630b-4861-b058-cf58834340f0
2009-07-19 21:08:58 +00:00
ccavazzoni f1c391fa58 - OpenMP parallelization
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5567 c92efa57-630b-4861-b058-cf58834340f0
2009-05-24 17:33:58 +00:00
dalcorso a2b5ab5e50 Minor partial cleanup. Many routines declared unused variables. Many others
could be cleaned.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5445 c92efa57-630b-4861-b058-cf58834340f0
2009-02-25 15:58:53 +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
paulatto 5a4e6569cf Previous commit slipped by mistake. Changes to paw_onecenter were required
to prevente sefgfault in dos calculation + paw with intel 10 compiler.

The other changes weren't really supposed to happen, they are aestetics
changes which I'm partially reverting now.

LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4967 c92efa57-630b-4861-b058-cf58834340f0
2008-06-06 10:08:19 +00:00
paulatto 9f0dfa6dc6 *** empty log message ***
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4966 c92efa57-630b-4861-b058-cf58834340f0
2008-06-06 10:03:38 +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 ae8be06438 also the scf potential is defined using the scf_type.
then call to v_of_r has been simplified


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4442 c92efa57-630b-4861-b058-cf58834340f0
2007-11-18 20:25:11 +00:00
degironc 18376047b4 call to v_of_rho has been simplified using scf_type.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4432 c92efa57-630b-4861-b058-cf58834340f0
2007-11-13 16:46:11 +00:00
degironc a6b0fea63d more changes in scf_mod. mix_rho is getting simpler and more transparent,
scf_mod contains more stuff, but it should be rather simple.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4419 c92efa57-630b-4861-b058-cf58834340f0
2007-11-10 15:07:51 +00:00
degironc 79f0fd08c0 more scf_mod changes
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4398 c92efa57-630b-4861-b058-cf58834340f0
2007-11-06 10:26:07 +00:00
degironc aae083bf9e constrained_magnetizatio='atomic' has been extended to the collinear case (nspin=2), where only the z-component of the local moment is constrained.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4360 c92efa57-630b-4861-b058-cf58834340f0
2007-10-23 14:51:28 +00:00
degironc 6da8252f73 a radial_grid_type is introduced in Modules and used in atomic-related part
many changes but results are identical before and after.
sdg


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4127 c92efa57-630b-4861-b058-cf58834340f0
2007-08-12 00:08:53 +00:00
degironc 42a12efcc8 The Meta-GGA available on cp.x has been ported to pw.x: scf and forces,
while stress must still be done. So far, NC PP only.
SdG + Koichiro Umemoto


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3779 c92efa57-630b-4861-b058-cf58834340f0
2007-02-13 21:39:20 +00:00
giannozz 7ddc94126c The potential V in v_h should be INTENT(INOUT), not OUT
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3535 c92efa57-630b-4861-b058-cf58834340f0
2006-11-15 18:27:55 +00:00
sbraccia bc90fc7750 Further clean up of realus module. qsave array is now stored as a 1-dim array to
reduce the memory usage to the very minimum. Implemented a more efficient scheme
to find all the points in each small box. The charge is rescaled to the correct
number of electrons unless the relative error is larger that 0.01% (in this case
an error message is issued suggesting to increase ecutrho). Added a sort of
Fourier filter to remove the features in the chrage density that are not
compatible with the chosen cut-off (this is used only with the small booxes).
Addded an aternative estimate of the total energy based on the
Harris-Weinert-Foulkes functional. The difference between the Kohn-Sham energy
and the HWF one provides an alternative estimate for the level of
self-consistency.
Added a few more clocks to monitor the efficiency of the small-boxes and the
time spent to calculate the Hatree potential and the Exchange-Correlation
potential (the latter can be pretty high).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3437 c92efa57-630b-4861-b058-cf58834340f0
2006-10-06 14:08:36 +00:00
sbraccia 9710f29c75 1) v_of_rho has been rearranged in order to reduce the number of FFTs per step.
Now the input of v_of_rho is the charge density in both real and reciprocal
space (always available within the scf loop); the output is unchanged. This
permits to get rid of one FFT for the calculation of V-Hartree and one for the
calculation of V-XC (\nabla rhr in GGA). Array dimensions removed from the list
of arguments of several routines (they are read from the modules). Unused
variables removed.
2) mix_rho has been modified in order to mix only the fourier components of the
smooth part of the density. The FFTs in the local-TF preconditioning are done
using the coarse mesh (cft3s). The performance of the mixing is almost
unchanged, but the mixing itself is much cheaper. Cleanup of unused variables.
Please, check for posible side effects of these modifications.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3256 c92efa57-630b-4861-b058-cf58834340f0
2006-07-07 20:16:45 +00:00
dalcorso 588942e2c9 Stress in the noncollinear/spin-orbit case added.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2801 c92efa57-630b-4861-b058-cf58834340f0
2006-02-10 15:02:48 +00:00
degironc 91433749f9 More small changes to funct module, some clean up of the EXX part.
stefano


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2420 c92efa57-630b-4861-b058-cf58834340f0
2005-11-04 11:47:42 +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
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
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
degironc 03592615e1 more EXX experimental stuff
stefano


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1978 c92efa57-630b-4861-b058-cf58834340f0
2005-06-27 13:11:33 +00:00
degironc a82b80548a Experimental version with some (incomplete and probably wrong) exact
exchange stuff.
These features can be obtained by compiling with -DEXX added to DFLAGS
in make.sys
***** DO NOT USE FOR ANY PRODUCTION RUN. *****

Stefano and Antonio


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1883 c92efa57-630b-4861-b058-cf58834340f0
2005-05-19 12:25:25 +00:00
sbraccia 6de8ce365f Cleanup. C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1830 c92efa57-630b-4861-b058-cf58834340f0
2005-04-25 18:18:21 +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
dalcorso bed96df6fe Some problems in previous commit corrected.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1767 c92efa57-630b-4861-b058-cf58834340f0
2005-03-29 10:56:58 +00:00
dalcorso 6b91568ab1 V_of_rho and v_of_rho_nc merged.
Constraints on the magnetization moved to the routine add_bfield.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1766 c92efa57-630b-4861-b058-cf58834340f0
2005-03-29 09:05:42 +00:00
giannozz b372c22d97 print integral of negative charge density, rather than number of points
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1679 c92efa57-630b-4861-b058-cf58834340f0
2005-03-04 17:49:28 +00:00
sbraccia 0e02ba9e28 Fixed a couple of ambiguities:
flib/rranf.f90: variable irand was not initialized.
PW/v_of_rho.f90: at line 146  CALL xc( arhox, ex, ec, vx, vc )  =>  CALL xc( arhox, ex, ec, vx(1), vc(1) )
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@950 c92efa57-630b-4861-b058-cf58834340f0
2004-06-11 07:48:24 +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 5b74c1aa22 Cleanup: integer conversion to real performed with "dble" everywhere
minor things here and there


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@765 c92efa57-630b-4861-b058-cf58834340f0
2004-04-03 13:24:17 +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 24ce939aeb 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@365 c92efa57-630b-4861-b058-cf58834340f0
2003-11-04 10:53:05 +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
giannozz fb4188d994 More Gamma cleanup
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@354 c92efa57-630b-4861-b058-cf58834340f0
2003-10-29 17:45:55 +00:00
giannozz 319ae12049 sp3 fix (allocation with zero length). Manual updates.
Gamma: fixed occupations, electric fields, cleanup.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@289 c92efa57-630b-4861-b058-cf58834340f0
2003-08-21 15:14:22 +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