Commit Graph

253 Commits

Author SHA1 Message Date
smogunov ddce89a72f Automatically generated 2D k points are converted to crystallographic
coordinates and a small bug in the generation of 2D G vectors fixed
(A. Smogunov).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5018 c92efa57-630b-4861-b058-cf58834340f0
2008-06-25 13:16:10 +00:00
smogunov 5a5f6ec1a9 Corrected and slightly modified output of complex k vectors (A. Smogunov).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5017 c92efa57-630b-4861-b058-cf58834340f0
2008-06-25 12:50:10 +00:00
giannozz eac102ea22 Updated Makefiles. a) a target name should not coincide with a directory
name (remember tha some machines like Mac OSX have case-insensitive file
systems! ee == EE) b) some linkers require an explicit presence of all
modules in the list of files to be linked


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5001 c92efa57-630b-4861-b058-cf58834340f0
2008-06-18 15:08:53 +00:00
smogunov 42858405fe Missing broadcast of the variable nkpts (A. Smogunov)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4978 c92efa57-630b-4861-b058-cf58834340f0
2008-06-12 14:52:41 +00:00
paulatto e607e3c176 g95 does not like when you use .ne. to compare logical variables: .neqv. or
.xor. have to be used instead.

LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4955 c92efa57-630b-4861-b058-cf58834340f0
2008-05-29 12:27:39 +00:00
dalcorso da30151710 Bug fix: problem with orthorombic cells. (Contributed by Zhiping)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4938 c92efa57-630b-4861-b058-cf58834340f0
2008-05-16 07:14:54 +00:00
dalcorso 7dc01928de Introduced a check to avoid mixing calculations with and without spin-orbit.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4930 c92efa57-630b-4861-b058-cf58834340f0
2008-05-15 13:03:25 +00:00
dalcorso 9476f6098d Small bug fix: uninitialized printing variable.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4852 c92efa57-630b-4861-b058-cf58834340f0
2008-04-30 07:26:23 +00:00
giannozz c85f1c444e Minor changes tothe qexml file format, by AF: in particular, added the
flag reporting whether only half G-vector sphere is present (not
actually used in q-e but it may be useful for other codes). make.depend
updated


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4819 c92efa57-630b-4861-b058-cf58834340f0
2008-04-18 12:29:55 +00:00
cavazzon c3fe9dd438 - reduce substituted by mp_sum
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4793 c92efa57-630b-4861-b058-cf58834340f0
2008-04-12 16:12:49 +00:00
paulatto ba4e005094 This is a quite complex check-in, but actually not very much is done. Changelog follows.
LP

UPF file format updated completely, UPFv2 introduced:
* ld1.x can still produce old format, with the switch upf_v1_format=.true. in inputp
  this is disabled by default, but we can discuss if it should be the opposite.
* pw.x cp.x and all utilities should notice no difference
* some utilities in upftools still need to be updated, anyway conversion UPFv1 to UPFv2
  is very easy, so this should be no big issue
* starting from now to produce an UPF file you need to fill the pseudo_upf derivedd type
  and feed it to write_upf woutine in upf_module (Modules/upf.f90)
* extensive use of iotk

I have tried to make the new format as self contained as possible, e.g. there should be
minimal need for post-processing after the data is read, no more reconstruction of known
quantities, and no more odd syntax to save negligible quantity of space. Also the human
readable section is a bit richer, all the rest is more machine readable.

I hope this will not cause any throuble, and tried really hard to, all examples and all
tests works as fine as before and gives (what really looks like) the same results.

Other changes that I needed to make:
* radial grids are now allocatable, they management is a bit less of a hack too
* paw and uspp augmentation are stored in the same place
* paw print total all-electron energy if all atoms are paw, not very useful, but nice
* most of the pseudopotential-writing reading files have been renamed to  some more
  logical name, I spare you the list. E.g. read_oldpseudo -> read_pseudo_rrkj3
* paw_t derived type was only used in atomic, so I have put it there (as the pseudo_type
  module take ages to recompile it was awkward to leave it there).

PAW tests inserted in test/ there are 6 of them, as a consequence I have also put 5 paw
pseudopotentials in the pseudo/ directory.

I will update the PAW scf examples soon, by deleting them (as running a pw with a PAW
pseudopotential requires no option at all). PAW generation examples should be updated.

A lot of small bugfixes here & there mostly uninitialized variables or unallocated
pointers used as subrotuine arguments.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4769 c92efa57-630b-4861-b058-cf58834340f0
2008-04-03 15:50:43 +00:00
paulatto b7d046d01b Two missing objects prevented compilation of pwcond. There are more of these!
LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4652 c92efa57-630b-4861-b058-cf58834340f0
2008-01-24 10:38:10 +00:00
cavazzon 636712cef9 - scatter/gather like subroutines that act on fft grids,
moved from PW/para.f90 to Modules/fft_base.f90


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4614 c92efa57-630b-4861-b058-cf58834340f0
2008-01-08 09:19:31 +00:00
giannozz 231f4e72cc "error" moved from flib/ to Modules/, as suggested by Axel, into
Modules/error_handler.f90 . Not really an elegant solution, since
the module in error_handler is never used and subroutine "errore"
is not in the module, but better than it used to be. All makefiles
and make.depend updated (fixes yesterday's linking error as well).
Minor changes here and there as well.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4591 c92efa57-630b-4861-b058-cf58834340f0
2008-01-03 09:02:32 +00:00
cavazzon 2aa6533d13 - again fft_parallel Module
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4582 c92efa57-630b-4861-b058-cf58834340f0
2007-12-31 11:08:09 +00:00
dalcorso 27c2b94f1b Bug fix: PWCOND with PAW was not working any more.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4575 c92efa57-630b-4861-b058-cf58834340f0
2007-12-31 08:57:28 +00:00
degironc 0141bb6d0c update of several PAW routines.
global auxiliary variable saved%v removed and replace by a smaller local array.
ddd_PAW has now the same indexing structure as becsum.

miscellaneous:
- defined undefined variable ze2=0 in ascheqps
- ibnd_up/dw initialized in print_ks_energies.f90


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4517 c92efa57-630b-4861-b058-cf58834340f0
2007-12-11 22:46:03 +00:00
dalcorso 152827096e Pwcond does not work with pools. Added a check to stop this case.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4497 c92efa57-630b-4861-b058-cf58834340f0
2007-12-04 14:00:08 +00:00
giannozz 165498def4 Variable 'time_reversal' added. It contains information that was already
present but somewhat hidden. I hope that everything works as before
(matdyn doesn't work with spin-orbit or noncolinear case, but I think
it didn't already) but it is a good idea to check. The choice of a single
q-point in phonon via iq1,iq2,iq3 is presently disabled.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4484 c92efa57-630b-4861-b058-cf58834340f0
2007-11-29 15:39:29 +00:00
paulatto 2239472597 Fixes: ld1 test of upf types was not working anymore (same as reason as CP).
Mods: removed read_paw module and .PAW temporary format support. Makefiles and
make.depend updated accordingly.
Fixes in ld1: test of upf types was not working anymore (same as reason as CP),
added deallocation of pawsetup. As testing of PAW without generation may not
work yet I have put a big error for it.
Other: simpson_cp90 was pretending to be simpson in error messages


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4461 c92efa57-630b-4861-b058-cf58834340f0
2007-11-21 10:39:48 +00:00
dalcorso 101a627c19 Added the possibility to use paw pseudopotentials in PWCOND.
(Still experimental).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4451 c92efa57-630b-4861-b058-cf58834340f0
2007-11-20 09:12:02 +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
cavazzon bf74ac09d1 - new file mp_base.f90 containing mpi wrapper for block communications,
like in it was in reduce sub of PW. This is to avoid large temporary
  array allocations in module mp.f90 (mp.f90 calls subs in mp_base.f90).
  On the other hands mp.f90 provide the general interfaces for different
  kind of data and data size checking.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4441 c92efa57-630b-4861-b058-cf58834340f0
2007-11-17 14:32:10 +00:00
paulatto dce5f820da Paw code moved around and unused functions removed; old grid_paw code removed.
This is the first step of code cleanup. Actually nothing should change.

rad_paw_routines -> paw_onecenter (2 functions went to paw_init)
grid_paw_variables -> paw_variables (with some additions from rad_paw_routines)
grid_paw_routines -> paw_init (merged with 2 init functions from rad_paw)

Probably there are a few random fixes around.

Next step: remove ndmx and ntpx.

LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4422 c92efa57-630b-4861-b058-cf58834340f0
2007-11-12 14:49:09 +00:00
degironc 93c72b5f3b make.depend again and a corrected scf_mod.f90
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4381 c92efa57-630b-4861-b058-cf58834340f0
2007-10-31 23:02:23 +00:00
degironc d5387129e5 module scf has been separated from PW/pwcom.f90 (put in PW/scf_mod.f90) in
order to reorganize the variables needed for mixing and scf cycle.
More changes will follow....


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4379 c92efa57-630b-4861-b058-cf58834340f0
2007-10-31 14:28:18 +00:00
paulatto d858b4a51b New PAW version, now completely working on radial grid. Code on FFT grid can still be compiled using __GRID_PAW flag (but may not work a
nymore). Other things working: parallel, gamma-only.

Files vxc_t, exc_t and vxcgc moved from atomic to Modules (to prevent cyclic dependencies).

Other random fixes: a kind in init_vloc, a call to infomsg in ./PH/add_for_charges.f90.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4358 c92efa57-630b-4861-b058-cf58834340f0
2007-10-22 14:54:29 +00:00
giannozz c138cf41e2 Parameter nbrx (max number of beta functions) removed. Exceptions:
- PAW (still used here and there)
- PWCOND (used in the definition of betar* functions)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4343 c92efa57-630b-4861-b058-cf58834340f0
2007-10-15 16:37:00 +00:00
giannozz 322e4078f4 Two fixes for PWCOND: pseudopotentials are dimensioned up to the actual
number "ntyp" of species, not up to the maximum "npsx"; pseudopotentials
should be deallocated if already allocated when read, or otherwise the
pwcond code will stop complaining that "array is already allocated" (not
all compilers complain, though).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4322 c92efa57-630b-4861-b058-cf58834340f0
2007-10-07 17:34:26 +00:00
dalcorso d530648029 Fixed the compilation problem of pwcond.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4318 c92efa57-630b-4861-b058-cf58834340f0
2007-10-06 14:58:37 +00:00
giannozz e0378cf043 Various compilation problems after last changes fixed.
There is one left in PWCOND, related to arrays betar*
Misc small changes here and there


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4317 c92efa57-630b-4861-b058-cf58834340f0
2007-10-06 13:50:02 +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
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
cavazzon e3961f11e8 - Makefile again
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4112 c92efa57-630b-4861-b058-cf58834340f0
2007-08-09 21:26:12 +00:00
dalcorso 23a8a73ac3 The variables needed to constrain the magnetization written in the punch
file. The ph.x, pwcond.x, pp.x and bands.x codes now stop if pw.x has
been run with constrained magnetization.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4083 c92efa57-630b-4861-b058-cf58834340f0
2007-07-28 16:40:41 +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
dalcorso 0a51dc5f2b Added a few checks to stop the codes PH and PWCOND if lda_plus_u is true.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3965 c92efa57-630b-4861-b058-cf58834340f0
2007-06-12 13:06:59 +00:00
smogunov 59ac7f2777 A bug with memory allocation leading to the crash in some cases is fixed (A. Smogunov)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3894 c92efa57-630b-4861-b058-cf58834340f0
2007-04-04 09:00:38 +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
giannozz 3a98e2d9d4 More patches from Axel:
- correct an unquoted string (iosys) in PW/input.f90:483
(this was the cause of tonight compilation failere)
- correct a few incorrect format strings
- make more use of the constants module and thus
  provide more consistent units. NOTE, this has some
  numerical changes in the outputs, as in some places
  rather low precision and inconsistent numbers were
  used for unit conversion.
- convert all(?) single precision constants to double
  using the attached little perl program.
  exceptions: efermi.f90 (as it is supposed to be rewritten
  anyways), plotbands.f90 (it uses single precision everywhere,
  which may result in saving a significant amount of memory,
  so i converted the two double precision constants to single).
Unused routine 'set_fft_grid' removed


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3602 c92efa57-630b-4861-b058-cf58834340f0
2006-12-14 08:53:47 +00:00
giannozz 19aaac89fa More miscellanous cleanup from Axel:
- disable locales via use of LC_ALL=C in all shell scripts
   (which will hopefully make sorted lists more consistent
    between people running with different locales).
 - remove redundant files from PW, NMR_new, VdW, VIB;
   rename subroutines if their functionality is noI
   unchanged from the original source it was taken from.
 - corresponding updates to Makefiles and dependencies.
 - whitespace cleanups (eleminate remaining tabs).
 - a few more float->DBLE


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3596 c92efa57-630b-4861-b058-cf58834340f0
2006-12-12 11:02:09 +00:00
sbraccia 7432487fe6 Dependencies updated. C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3593 c92efa57-630b-4861-b058-cf58834340f0
2006-12-11 14:55:42 +00:00
giannozz 1e235af88b More patches by Axel: all occurrences of "index" replaced by "idx".
"index" is an instrinsic and shouldn't be used as a variable.
control-M characters removed from qexml.f90


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3585 c92efa57-630b-4861-b058-cf58834340f0
2006-12-01 14:41:55 +00:00
giannozz 930d0ecdae dependencies updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3558 c92efa57-630b-4861-b058-cf58834340f0
2006-11-22 08:52:07 +00:00
dalcorso 42c5d95aa0 Bug fix: pwcond was not working with multi-projector norm conserving
pseudo-potentials.
Small change in divide_class.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3509 c92efa57-630b-4861-b058-cf58834340f0
2006-11-04 15:05:20 +00:00
dalcorso 30942c0421 Write_states now writes also the charge of spinor wavefunctions.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3496 c92efa57-630b-4861-b058-cf58834340f0
2006-10-26 13:52:15 +00:00
dalcorso 6bd0edb4b5 Bug fix: the noncolinear pwcond was not working with scalar relativistic
norm conserving PP.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3495 c92efa57-630b-4861-b058-cf58834340f0
2006-10-26 09:45:54 +00:00
dalcorso b6afc58105 Experimental: pwcond calculates the scattering and Bloch states on a 3D-FFT
mesh and writes them in a file readable by the pp programs.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3490 c92efa57-630b-4861-b058-cf58834340f0
2006-10-25 15:35:53 +00:00
smogunov 121cd7899a Output of transmission eigenchannels is disabled in a test case
of the perfect conductor (all channels have transmission 1). A. Smogunov


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3466 c92efa57-630b-4861-b058-cf58834340f0
2006-10-19 09:59:18 +00:00
dalcorso b6cba4c7c9 Another check for previous commit.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3463 c92efa57-630b-4861-b058-cf58834340f0
2006-10-18 16:29:20 +00:00
dalcorso ca6f37e209 Missing check in previous commit.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3462 c92efa57-630b-4861-b058-cf58834340f0
2006-10-18 16:04:07 +00:00
dalcorso 9ce64fb6e1 Experimental feature: pwcond is used to calculate the propagating Bloch states
in all points of the FFT mesh, not just in the first and last planes.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3461 c92efa57-630b-4861-b058-cf58834340f0
2006-10-18 15:37:43 +00:00
dalcorso 77dbbceb7c Several arrays with zero dimension are not allocated in the free electrons
case.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3458 c92efa57-630b-4861-b058-cf58834340f0
2006-10-16 15:25:42 +00:00
dalcorso 048b0c5a3d Recent changes to pwcond did not work with free electrons.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3455 c92efa57-630b-4861-b058-cf58834340f0
2006-10-16 08:33:25 +00:00
giannozz 6232da2eaf getenv replaced by wrapper get_env, preprocessed only in a single file
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3452 c92efa57-630b-4861-b058-cf58834340f0
2006-10-11 14:42:42 +00:00
smogunov eab3607dee scatter_back.f90 is not needed anymore (A. Smogunov)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3450 c92efa57-630b-4861-b058-cf58834340f0
2006-10-11 09:53:13 +00:00
smogunov aad16258e6 Some optimization (A. Smogunov)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3449 c92efa57-630b-4861-b058-cf58834340f0
2006-10-11 09:31:53 +00:00
dalcorso a806c4703e Free electrons in pwcond. Small change.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3448 c92efa57-630b-4861-b058-cf58834340f0
2006-10-10 14:59:35 +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
giannozz 43e4e5d38d There is no reason to generate dependencies every time. Files
make.depend are now in the CVS and shouldn't be updated unless
needed. Configure no longer runs makedeps.sh. Type 'make depend'
to regenerate dependencies.

Remove all */make.depend files before updating!


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3409 c92efa57-630b-4861-b058-cf58834340f0
2006-09-21 17:49:53 +00:00
giannozz 4421cfc590 MPI_REAL8 => MPI_DOUBLE_PRECISION
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3406 c92efa57-630b-4861-b058-cf58834340f0
2006-09-21 10:32:04 +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
giannozz 6c40185885 - outdir is set by default to the value of the $ESPRESSO_TMPDIR
environment variable, or to './' (as before) if this is not set
- pseudo_dir is set by default to the value of $ESPRESSO_PSEDIR,
  to $HOME/espresso/pseudo/ otherwise
- documentation updated to reflect the new defaults
Note that the 'capture' of $HOME/pw/pseudo using a call to 'getenv'
was already present in pwscf but it was not working (pseudo_dir was
overwritten) so nothing susceptible to create new problems was added.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3309 c92efa57-630b-4861-b058-cf58834340f0
2006-08-08 18:05:16 +00:00
dalcorso 7ec70db326 Added a routine to print the name of the point group. (Only with
verbosity="high").


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3302 c92efa57-630b-4861-b058-cf58834340f0
2006-07-31 09:05:10 +00:00
dalcorso 43ac7466b7 Bug fix: In particular cases the order of the orbitals was not correct.
(A. Smogunov and ADC) (Bug found by G. Sclauzero).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3151 c92efa57-630b-4861-b058-cf58834340f0
2006-06-05 07:49:05 +00:00
dalcorso b20c87cc98 Clean-up of unused variables.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3132 c92efa57-630b-4861-b058-cf58834340f0
2006-05-19 15:21:27 +00:00
kkudin dfe893b58d Missing electrons_base.o
Kostya


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3125 c92efa57-630b-4861-b058-cf58834340f0
2006-05-16 21:06:38 +00:00
dalcorso 715333e7ce Introduced the possibility to generate a grid of 2D k-points.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3122 c92efa57-630b-4861-b058-cf58834340f0
2006-05-15 08:05:55 +00:00
dalcorso 269425ee76 Small change: stdout used everywhere in pwcond.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3121 c92efa57-630b-4861-b058-cf58834340f0
2006-05-15 07:57:15 +00:00
dalcorso 3d7a49afeb Missing #ifdef __PARA.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3080 c92efa57-630b-4861-b058-cf58834340f0
2006-05-05 05:33:43 +00:00
dalcorso 0178a96db4 Bug fix: The parallel version of pwcond did not run in some machines.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3076 c92efa57-630b-4861-b058-cf58834340f0
2006-05-04 13:21:09 +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
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
dalcorso 43d7d61924 Makefile updated.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2920 c92efa57-630b-4861-b058-cf58834340f0
2006-03-16 09:28:38 +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 e7d47f99da Wrapper for serial 3d fft no longer needed
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2814 c92efa57-630b-4861-b058-cf58834340f0
2006-02-14 14:44:15 +00:00
giannozz 3b39f80c94 Makefile updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2813 c92efa57-630b-4861-b058-cf58834340f0
2006-02-14 14:22:00 +00:00
giannozz 69e4e57f35 Added missing reference to random_numbers.o
Directory Raman/ removed: removed it from CVS/Entries to get rid of error.
I am experimenting a little bit with CVS so if you encounter strange
problems please let me know


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2800 c92efa57-630b-4861-b058-cf58834340f0
2006-02-10 10:27:04 +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 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
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
giannozz 23d5fc212c Makefile updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2659 c92efa57-630b-4861-b058-cf58834340f0
2005-12-28 11:36:02 +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
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 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
giannozz 18d062242b Cleanup of obsolete stuff
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2255 c92efa57-630b-4861-b058-cf58834340f0
2005-10-04 14:08:10 +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 49ba9b41b3 Printout restored to its correct value
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2161 c92efa57-630b-4861-b058-cf58834340f0
2005-09-07 15:06:45 +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