Commit Graph

148 Commits

Author SHA1 Message Date
cavazzon fa1877ef6b In Makefile objects are required for Module objects
< ../Modules/radial_grids.f90 \
---
> ../Modules/radial_grids.o \


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4278 c92efa57-630b-4861-b058-cf58834340f0
2007-09-20 14:05:56 +00:00
paulatto 08fedbe2f0 SCF with Projector-Augmented Wave Pseudopotential (PAW) routines added.
This means that a lot of routines have been modified and a few files have
been added. During the year several people have contributed to this code,
mainly Guido Fratesi, Ricardo Mazzarello, Stefano de Gironcoli, Andrea Dal
Corso and me (Lorenzo Paulatto).

A brief report of modified or added files follows, further down you will
find a loger report of modifications that was necessary to merge develop_PAW
branch with the current CVS version.

Current version is not 100% functional, but it doesn't brake anything else and
can be used to generate and test PAW pseudopotential.

      *************************************
      *** Brief report of modifications ***
      *************************************
Modified files:
PW/clean_pw.f90
PW/electrons.f90
PW/print_clock_pw.f90
PW/hinit0.f90
PW/potinit.f90
PW/newd.f90
PW/summary.f90
PW/setup.f90
PW/read_pseudo.f90
PW/init_us_1.f90
PW/init_run.f90
PW/mix_rho.f90
atomic/atomic_paw.f90
atomic/write_paw_recon.f90
atomic/ld1_writeout.f90
atomic/write_resultsps.f90
atomic/ld1inc.f90
atomic/ld1_readin.f90
atomic/gener_pseudo.f90
atomic/parameters.f900
atomic/run_pseudo.f900
atomic/set_rho_core.f90
atomic/pseudovloc.f90
Modules/read_upf.f90
Modules/uspp.f90
Modules/pseudo_types.f90
Modules/parameters.f90

Added files:
PW/grid_paw_routines.f90
PW/rad_paw_routines.f90
Modules/grid_paw_variables.f90
Modules/read_paw.f90

Added files that will be removed:
PW/rad_paw_trash.f90
PW/paw_xc.f90

Examples:
examples/PAWexample contains a full test of PAW pseudopotential
for Oxygen. The test consist in these tasks:
 - 2 norm conserving, 2 US and 4 PAW pseudopotentials are
   generated and tested in ld1
 - pw test for an isolated O atom at different cutoffs
 - pw test for an O2 molecule at different O-O distance
please read examples/PAWexample/README for (a few) details.

NOTES:
1. new modifications to atomic_paw (and related) from ADC have been rolled
   back, as they were breaking a lot of things, I will reintroduce them
   later when I am sure that everything works properly.
2. the files PW/paw_xc.f90 and Modules/rad_paw_trash.f90 will be removed in
   the next few weeks.

TODO:
1. use new ld1 XC code as much as possible, and remove legacy XC routines
   from rad_paw_routines
2. full self-consistency with radial energies
3. make new Harris-Foulkes estimate paw-aware
4. provide some kind error estimate
5. FORCES and stress!! (require symmetrization of becsums)
6. cleanup

    ************************
    *** merge of PW code ***
    ************************
Versions notation:
OLD=version from 2 years ago used as reference to generate the patches
NEW=CURRENT=current trunk version
PAW=current develop_PAW version

Note: pseudo-potential input and allocation routines changed
      a lot in the last years, this is a diagram:
OLD:PW/readin ~~> PAW:PW/read_pseudo --> disappears
pops out --> PAW:PW/readin ~~> NEW:PW/read_pseudo

added files:
Modules/read_paw.f90    (contains module read_paw_module with subroutines
                         paw_io nullify_pseudo_paw, allocate_pseudo_paw and
                         deallocate_pseudo_paw previously in removed file
                         Modules/readpseudo.f90. Also contains module
                         paw_to_internal with subroutine set_pseudo_paw,
                         previously in upf_to_internal.f90)
PW/paw_xc.f90           (contains OLD=PAW xc and gcxc routines as adapting paw
                         grid code to use new routines was very error prone and
                         quite worthless, as it has to be removed anyway)

Conflicts reported by CVS during merge:
DONE */Makefiles                    (all replaced with new, redone by hand)

DONE  flib/functionals.f90          (nothing to do)

DONE Modules/functionals.f90        (RNV == replaced with NEW version)
DONE Modules/atom.f90               (trivial: duped rgrid)
DONE Modules/autopilot.f90          (trivial)
DONE Modules/bfgs_module.f90        (RNV)
DONE Modules/cell_base.f90          (RNV)
DONE Modules/check_stop.f90         (RNV)
DONE Modules/constants.f90          (RNV)
DONE Modules/constraints_module.f90 (RNV)
DONE Modules/energies.f90           (RNV)
DONE Modules/input_parameters.f90   (RNV)
DONE Modules/ions_base.f90          (RNV, has 3 new subs)
DONE Modules/ions_nose.f90          (RNV)
DONE Modules/parameters.f90         (actually RNV)
DONE Modules/path_base.f90          (RNV)
DONE Modules/path_opt_routines.f90  (RNV)
DONE Modules/path_reparametrisation.f90 (RNV)
DONE Modules/path_variables.f90     (RNV)
DONE Modules/pseudo_types.f90       (cleaned double def of paw_t)
DONE Modules/read_cards.f90         (RNV)
DONE Modules/read_namelists.f90     (checked and RNV)
DONE Modules/uspp.f90               (trivial)
DONE Modules/xml_io_base.f90        (RNV)

DONE PW/read_pseudo.f90             (merged by hand with PAW PW/readin)

DONE PW/bp_calc_btq.f90             (trivial)
DONE PW/c_bands.f90                 (actually RNV)
DONE PW/ccgdiagg.f90                (RNV)
DONE PW/cegterg.f90                 (RNV)
DONE PW/cft3s.f90                   (RNV)
DONE PW/cinitcgg.f90                (RNV)
DONE PW/c_phase_field.f90           (RNV)
DONE PW/divide_et_impera.f90        (nothing to do?)
DONE PW/exx.f90                     (RNV)
DONE PW/hinit0.f90                  (easy)
DONE PW/h_psi.f90                   (RNV)
DONE PW/init_run.f90                (easy)
DONE PW/kpoint_grid.f90             (nothing to do?)
DONE PW/newd.f90                    (required mod in newd_paw_grid, CHECK!!)
DONE PW/openfil.f90                 (actually RNV)
DONE PW/paw.f90                     (actually RNV)
DONE PW/punch.f90                   (RNV)
DONE PW/pwscf.f90                   (quite RNV)
DONE PW/set_kup_and_kdw.f90         (RNV)
DONE PW/setup.f90                   (RNV + 2 line merged by hand)
DONE PW/sgama.f9                    (actually RNV)
DONE PW/sgam_at_mag.f90             (actually RNV)
DONE PW/stop_run.f90                (actually RNV)
DONE PW/stres_gradcorr.f90          (actually RNV)
DONE PW/symrho_mag.f90              (nothing to do)
DONE PW/v_of_rho.f90                (RNV)

DONE PW/compute_fes_grads.f90       (RNV)
DONE PW/gradcorr.f90                (RNV)
DONE PW/input.f90                   (RNV)
DONE PW/pw_restart.f90              (RNV)
DONE PW/read_ncpp.f90               (actually RNV)
DONE PW/summary.f90                 (RNV + inserted new PP type)
DONE PW/wfcinit.f90                 (RNV)

the hard ones:
DONE PW/electrons.f90   (adapted code to new syntaxes, a lot of cleanup, removed
                         some PAW junk that can be readded later, removed parts
                         that were applyed twice, or had been removed in trunk,
                         the rhog allocations and usage may need fixes)
DONE PW/mix_rho.f90     (merged tauk and paw additions, a bit of cleanup and smarter
                         variables names)
DONE PW/init_us_1.f90   (qtot redefined with "triangular" index nb,mb-->ijv)

modified for compiling:
Modules/io_files.f90    (depatched)
PW/pwcom.f90            (depatched)
Modules/parameters.f90  (temporary readded cp_lmax = lmaxx+1)
PW/newd.f90             (merge was wrong, redone mostly by hand)
PW/read_ncpp.f90        (depatched)
PW/read_pseudo          (small fixes)
PW/sgam_at_mag.f90      (depatched)
PW/sgama.f90            (depatched)
PW/stres_gradcorr.f90   (depatched)

modified for running:
PW/clean_pw.f90         (added call to deallocate_paw_internals)

Modifications to PAW routines:
1. compute_onecenter_charges and compute_onecenter_charges modified to
   comply with new structure of v_xc (in v_of_rho.f90), requiring new
   g-space densities to be saved and computed --> using old xc routines
   as this code will be removed.
2. qrad size has changed, prad and ptrad had to be changed accordingly.
3. several minor modifications to use new radial grid structure.
4. infomsg arguments changed, very funny bug followed.
5. added new routine deallocate_paw_internals, called by PW/clean_pw.f90
   required to run pp.x with more than one q-point(and good programming
   practice)


    *************************
    *** merge of LD1 code ***
    *************************
2nd try: atomic code replaced with current version, then merge by hand
the files that are used by paw subsystem:
* atomic_paw.f90        (replaced with most recent version from develop_PAW
                         routine us2paw and paw2us taken from newer trunk
                         version, a lot of minor changes.)
* gener_pseudo.f90      (fixes)
* ld1inc.f90            (PAW variables added)
* ld1_readin.f90        (PAW variables added, I am not sure if lpaw should go
                         in input or inputp namelist)
* ld1_writeout.f90      (it was only necessary to add a few lines)
* pseudovloc.f90        (nothing to do)
* run_pseudo.f90        (almost nothing to do)
* set_rho_core.f90      (readded a few lines for lnc2paw)
* write_paw_recon.f90   (nothing to do)
* write_resultsps.f90   (nothing to do: trunk version is more
                         PAW-aware than PAW version)

Main problems were found in subroutines run_pseudo and gen_pseudo,
a little code had to be rewritten to comply with new variable names
and fix with merge.

TODO: fix atomic_paw routines to use minimal allocated arrays insetad
of ndmx sized ones; try to use the pawet as much as possible. Remove
test lines and other garbage. Find a fix for PAW2.

The first week of september Andrea Dal Corso uploaded a few modifications to
the atomic_paw routines. I had to rollback them as the structure of atomic_paw
has changed a lot and reimplementing them is probably easier and definitely
safer than fixing everything. I will do it soon, I swear!

LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4257 c92efa57-630b-4861-b058-cf58834340f0
2007-09-18 10:05:46 +00:00
dalcorso 89181afadb Added the possibility to make noncollinear/spin-orbit GGA phonon calculation.
(Still very experimental).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4201 c92efa57-630b-4861-b058-cf58834340f0
2007-09-03 07:20:09 +00:00
cavazzon 85cbdfb232 - new modules added
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4107 c92efa57-630b-4861-b058-cf58834340f0
2007-08-09 21:02:28 +00:00
giannozz 0250bc81a3 Links updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4012 c92efa57-630b-4861-b058-cf58834340f0
2007-07-10 09:00:00 +00:00
giannozz ac82c40ab7 configure updated (only configure.ac had been previously updated).
LD used instead of MPIF90 in Makefiles for loading. Since LD is used
anyway in iotk, it makes sense to use it. In some cases it may be
useful to have distinct options for compiling and for loading.
Minor cleanup in some routines


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3976 c92efa57-630b-4861-b058-cf58834340f0
2007-06-20 17:04:47 +00:00
giannozz e68d8d07f0 1) two scripts for output file analysis added to pwtools/
(courtesy of CS)
2) phonon-related auxiliary codes moved from pwtools/ to PH/
   I think it is a more appropriate place; moreover the D(q)=>D(r) step
   (q2r) might be called at the end of the phonon dispersion calculation


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3970 c92efa57-630b-4861-b058-cf58834340f0
2007-06-18 13:47:18 +00:00
giannozz 054e721960 Misc pseudopotential cleanup: upf_to_internal merged between CP and PW;
PAW-related stuff extracted and put into the paw module; various checks
moved to more appropriate places; initialization of obsolete variables
lloc and lmax moved elsewhere; variable zp moved to uspp_param.
All PP-reading subroutines (too many) read zp, not zv; zv is set later.
Summary for pseudopotentials unified and purged of printout of
obsolete/unused/unset variables.
PW/readin.f90 renamed to something more suggestive of what it does
(PW/read_pseudo.f90). Module PW/upf_to_internal.f90 moved to Modules/,
routine upf2internal removed from CPV/read_pseudo.f90.
Harmless error in berry phase + a few bad formats in GIPAW fixed.
Dependencies and Makefiles updated.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3851 c92efa57-630b-4861-b058-cf58834340f0
2007-03-18 19:24:56 +00:00
giannozz 09bf6a7e43 Makefile updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3785 c92efa57-630b-4861-b058-cf58834340f0
2007-02-15 11:51:27 +00:00
dalcorso 16edbc1adc Phonon in the noncollinear and spin-orbit case. New routines.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3767 c92efa57-630b-4861-b058-cf58834340f0
2007-02-08 13:17:38 +00:00
dalcorso c2e91e7533 Bug fix: ph.x was not working with pools and ldisp=.true..
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3731 c92efa57-630b-4861-b058-cf58834340f0
2007-01-31 17:09:47 +00:00
giannozz 5b979740a0 No need to recalculate once again the charge density + misc updates
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3729 c92efa57-630b-4861-b058-cf58834340f0
2007-01-31 15:53:04 +00:00
giannozz 783c0d42e1 Variables read in module pres_ai_mod have been added to input_parameters:
the data is read into input_parameters and copied to module pres_ai_mod,
like for all the other input variables. This allows a better separation
between reading and initialization phases, removes many dependencies upon
upon pres_ai_mod. Module pres_ai_mod moved to CPV where it belongs.
Makefiles and dependency files updated. UNTESTED: it may or may not work..


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3597 c92efa57-630b-4861-b058-cf58834340f0
2006-12-12 15:35:11 +00:00
dalcorso 84d83c2309 Added a routine that writes on file the matrix elements of the p operator.
Compute_qdipol.f90 moved to the PW directory.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3587 c92efa57-630b-4861-b058-cf58834340f0
2006-12-06 10:39:16 +00:00
cococ 6eca780f78 added pres_ai_mod.o to compile input_parameters and read_namelists
----------------------------------------------------------------------

Modified Files:
	PH/Makefile PW/Makefile
----------------------------------------------------------------------


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3554 c92efa57-630b-4861-b058-cf58834340f0
2006-11-21 00:49:08 +00:00
giannozz 61652e343c Objects in PW, PH, CPV are stored into libraries (libpw.a, libph.a,
libcp.a respectively), used to load the executables. This removes
the need to specify all needed objects in many different makefiles.
Works with 95, ifort, xlf. Please let me know if there are problems
with more exotic or lousy compilers.

A few minor things fixed as well.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3428 c92efa57-630b-4861-b058-cf58834340f0
2006-10-03 19:26:15 +00:00
dalcorso 8ecca440d6 j-average of KB pseudo was not implemented in read_file.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3385 c92efa57-630b-4861-b058-cf58834340f0
2006-09-13 14:38:46 +00:00
dalcorso cecdda2715 Now bands.x can classify the bands according to the irreducible
representation of the small group of k. k points on the border
of the Brillouin zone of systems with non symmorphic space groups
are not dealt with. Spin-orbit case included.

Find_mode_sym extended to all the q points, with the same limitations as
the bands.
(still experimental).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3330 c92efa57-630b-4861-b058-cf58834340f0
2006-08-22 17:01:13 +00:00
dalcorso 047ab0cc41 Added a few routines to classify the vibrational modes of molecules
according to the irreducible representations of the point group.
(Still experimental)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3316 c92efa57-630b-4861-b058-cf58834340f0
2006-08-09 08:20:53 +00:00
dalcorso 963ed1c5fb Makefile update.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3303 c92efa57-630b-4861-b058-cf58834340f0
2006-07-31 10:03:32 +00:00
dalcorso 859f33b332 The new variable lgamma_gamma has been introduced in ph.x.
This variable is .true. when xq is gamma and only the gamma point is used
for k point sampling.
The symmetrization used in phcg.x has been imported in ph.x in the case
lgamma_gamma=.true..


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3288 c92efa57-630b-4861-b058-cf58834340f0
2006-07-26 15:02:37 +00:00
dalcorso 1e6857b3eb Makefile updated to compile previous commit.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3225 c92efa57-630b-4861-b058-cf58834340f0
2006-06-29 16:12:02 +00:00
giannozz 3773af5b7d - bug fix: charge density incorrectly read in lsda case
- io_pot removed, replaced by read_rho, write_rho. It looks like it is
  working but more testing is needed
- Makeifles updated


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3072 c92efa57-630b-4861-b058-cf58834340f0
2006-05-03 21:08:23 +00:00
sbraccia d5af9d79f7 Makefiles updated. C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3070 c92efa57-630b-4861-b058-cf58834340f0
2006-05-03 14:33:05 +00:00
giannozz 9709360007 - Electron-phonon calculation with the new (Malgorzata) algorithm should
now work together with dispersion calculations. No need for N separate
  calculations for each q. The example will come soon.
- misc el-phon cleanup, removal of old stuff
- misc cleanup
NOTA BENE: the phonon code badly needs a cleanup of the symmetry stuff!


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2999 c92efa57-630b-4861-b058-cf58834340f0
2006-04-05 13:15:37 +00:00
degironc 897c33c1e5 Calculation of finite (imaginary) frequency polarizability added.
So far it only works for non-metals and the output is specific for
molecules (it prints polarizability, not the dielectric constants).
Contributed by Viet Huy Nguyen.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2980 c92efa57-630b-4861-b058-cf58834340f0
2006-03-30 09:43:38 +00:00
cavazzon 26987d2472 - init_pool moved to mp_global (it is now used by CP too)
- further changes to support image parallelization in CP
- bug fix in XML save file for wave functions / charge density / pools .
  In siple case and combinations of procs and polls now it seem to work.
  More testing is required


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2963 c92efa57-630b-4861-b058-cf58834340f0
2006-03-26 17:14:44 +00:00
giannozz 3733ffdb94 Old file format and related files deleted, makefiles updated accordingly
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2949 c92efa57-630b-4861-b058-cf58834340f0
2006-03-23 11:00:52 +00:00
giannozz 2272afad1b Makefile updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2936 c92efa57-630b-4861-b058-cf58834340f0
2006-03-22 16:39:14 +00:00
giannozz cf63a9b56f - fix for alpha compilation (and bad check anyway)
- Makefile updated


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2886 c92efa57-630b-4861-b058-cf58834340f0
2006-03-08 10:10:06 +00:00
giannozz 889ed5516a Makefiles updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2876 c92efa57-630b-4861-b058-cf58834340f0
2006-03-07 14:00:34 +00:00
cavazzon c71243d743 - Makefile updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2840 c92efa57-630b-4861-b058-cf58834340f0
2006-02-20 09:42:59 +00:00
giannozz b4c24dc88a Update of Makefiles
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2831 c92efa57-630b-4861-b058-cf58834340f0
2006-02-16 16:48:11 +00:00
giannozz a2954e1512 SUN FFT's merged into fft_scalar - no more cft_1 and cft_2.
In fft_scalar the convention for the sign of the transform
is now the most common one, and not the essl one. Comments
updated to reflect this and other changes.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2820 c92efa57-630b-4861-b058-cf58834340f0
2006-02-15 11:03:48 +00:00
giannozz 084e85ef95 Makefile update
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2811 c92efa57-630b-4861-b058-cf58834340f0
2006-02-14 14:20:05 +00:00
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 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 e3e9e215ca Compilation problems.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2682 c92efa57-630b-4861-b058-cf58834340f0
2006-01-03 16:05:59 +00:00
giannozz 68f1660a48 Electron-phonon calculation using Malgorzata's technique
Still preliminary and undocumented


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2654 c92efa57-630b-4861-b058-cf58834340f0
2005-12-28 10:55:17 +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
giannozz caf132c972 calculation of derivatives of exchange-correlation functional moved to
Modules/functionals.f90 and flib/functionals.f90 and lsda_functionals.f90
Duplicated routine dmxc.f90 removed. Atomic code does not depend any
longer on PH/.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2551 c92efa57-630b-4861-b058-cf58834340f0
2005-12-04 16:36:03 +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
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
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 3ecea7dd3c Missing dependency added
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2130 c92efa57-630b-4861-b058-cf58834340f0
2005-08-25 13:35:04 +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
giannozz 60bc521341 Makefiles updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2126 c92efa57-630b-4861-b058-cf58834340f0
2005-08-24 14:39:52 +00:00
ballabio 89c79b7302 compilation fix [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2103 c92efa57-630b-4861-b058-cf58834340f0
2005-08-17 12:05:15 +00:00