Commit Graph

147 Commits

Author SHA1 Message Date
giannozz f1918a978f Gfortran hack added (should be needed only for gfortran 4.1)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5790 c92efa57-630b-4861-b058-cf58834340f0
2009-08-01 14:39:21 +00:00
giannozz f00f00b3f4 In some unfortunate cases, the check on the contents of the first line
of the file was not returning an error code in cases where it should have,
resulting in segmentation fault (ifort compiler only)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5759 c92efa57-630b-4861-b058-cf58834340f0
2009-07-27 08:23:02 +00:00
giannozz 722cc3faa8 Cleanup of Makefile for upf
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5752 c92efa57-630b-4861-b058-cf58834340f0
2009-07-25 07:24:53 +00:00
giannozz 86186c5c7d Small change to the installation mechanism: the list of locations for
modules is provided by the Makefile in each subdirectory, rather than
by make.sys. No big advantage but neater solution than before


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5737 c92efa57-630b-4861-b058-cf58834340f0
2009-07-22 17:18:42 +00:00
giannozz 9288471b68 UPF format specifications: keep only the copy on the wiki
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5683 c92efa57-630b-4861-b058-cf58834340f0
2009-07-15 10:09:16 +00:00
giannozz fd7a11d0dc There can be conflicts between the erf and erfc in QE and those provided
by external libraries (e.g. recent ESSL). In order to prevent such problems,
erf has been renamed qe_erf and erfc qe_erfc


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5644 c92efa57-630b-4861-b058-cf58834340f0
2009-07-08 10:29:32 +00:00
degironc 8a7819b085 virtual.f90 was not working properly in the case of mixing of two
pseudopotentials with different meshes.
Corrections contributed by Jivtesh Gang and Nicola Marzari.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5545 c92efa57-630b-4861-b058-cf58834340f0
2009-05-02 14:00:07 +00:00
giannozz 8cd13cb00b Common "symme" moved to a separate file; some cleanup. Symmetries of the
Bravais lattice are written (but not yet read nor used) to the xml file


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5125 c92efa57-630b-4861-b058-cf58834340f0
2008-08-22 15:53:34 +00:00
cavazzon 737d1347f8 - token out of place, this was causing XLF to stop with an error
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5069 c92efa57-630b-4861-b058-cf58834340f0
2008-07-24 09:56:01 +00:00
giannozz 53d42178a8 Added converter of Casino pseudopotentials to upf format (Simon Binnie
and Dario Alfe')


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5046 c92efa57-630b-4861-b058-cf58834340f0
2008-07-07 20:33:26 +00:00
cavazzon 1ddc5f0539 - pseudo_type/grid nullification still was giving problem (gfortran).
- Logic now changed, variables are nullified as soon as they are
  instantiated. radial_grid rgrid made allocatable
- all tests passed with ifort. xlf, pgi, gfortran will follow


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4838 c92efa57-630b-4861-b058-cf58834340f0
2008-04-27 08:58:55 +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
cavazzon aff63f6b0e - missing modules
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4604 c92efa57-630b-4861-b058-cf58834340f0
2008-01-05 19:26:57 +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 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
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
cavazzon b8099605db - old FPMD pseudo_ncpp type removed and substituted with pseudo_upf.
as a consequence very old FPMD pseudopotential files are no more
  supported, they need to be converted with fpmd2upf.x upf tool.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4312 c92efa57-630b-4861-b058-cf58834340f0
2007-10-05 15:34:15 +00:00
cavazzon 9cde2ff66a - ../flib/gridsetup.o was included two times, PGI complains
in the linking phase


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4281 c92efa57-630b-4861-b058-cf58834340f0
2007-09-20 14:44:46 +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
giannozz 7c2c71dfab Module dependencies (make.depend) updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4232 c92efa57-630b-4861-b058-cf58834340f0
2007-09-11 07:57:52 +00:00
dalcorso ab3ee25a6d Two small changes.
ev.x writes the lattice constants in a.u. and in Angstrom.
read_upf_tofile.x writes on file the core charge multiplied by 4 pi r^2
as the valence charge.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4209 c92efa57-630b-4861-b058-cf58834340f0
2007-09-04 12:10:05 +00:00
dalcorso c16b2b7c10 Makefile update. make tar and make upf were not working.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4195 c92efa57-630b-4861-b058-cf58834340f0
2007-09-03 06:28:49 +00:00
cavazzon 02214ecacb - Makefile again
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4114 c92efa57-630b-4861-b058-cf58834340f0
2007-08-09 21:37:05 +00:00
giannozz 0792ed8d25 Call to infomsg simplified, removed the absurd "error -1"
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3987 c92efa57-630b-4861-b058-cf58834340f0
2007-06-26 16:46:01 +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 669b8b20e5 Misc updates: configure (mac intel + ifort), make.depend, Makefiles
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3907 c92efa57-630b-4861-b058-cf58834340f0
2007-04-10 20:39:42 +00:00
giannozz 04feee9a41 Dependencies updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3653 c92efa57-630b-4861-b058-cf58834340f0
2007-01-13 17:39:34 +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 d4da64ec0c More cleanup from Axel:
- workaround for gfortran (it is sort of working)
- single precision constants promoted to double precision
- dfloat-> DBLE
- DIMAG ->AIMAG
- DCMPLX->CMPLX
Note that ALL calls to dfloat, dimag, dcmplx have been added recently,
since I removed all of them no more than a few months ago


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3586 c92efa57-630b-4861-b058-cf58834340f0
2006-12-02 17:58:50 +00:00
giannozz d0035e974e Minor correction
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3566 c92efa57-630b-4861-b058-cf58834340f0
2006-11-24 11:51:42 +00:00
giannozz f866bc8bed Modified to read fhi format also with abinit header
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3565 c92efa57-630b-4861-b058-cf58834340f0
2006-11-24 11:42:04 +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
dalcorso b73c125888 Added a small program to plot what is inside a UPF file.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3237 c92efa57-630b-4861-b058-cf58834340f0
2006-07-01 15:02:46 +00:00
dalcorso c853015e9c In some cases the UPF pseudopotential generated by ncpp2upf was not working
in the atomic code.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3189 c92efa57-630b-4861-b058-cf58834340f0
2006-06-21 12:33:43 +00:00
giannozz 09b560d6a9 xlf complains if there is no space between a label and a command
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2805 c92efa57-630b-4861-b058-cf58834340f0
2006-02-13 16:29:31 +00:00
dalcorso c09c4d1844 Compilation problem.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2803 c92efa57-630b-4861-b058-cf58834340f0
2006-02-10 17:00:15 +00:00
giannozz e06832f549 Removed conflicting calls to "errore"
Low-level routines and simple programs should not call "errore"


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2774 c92efa57-630b-4861-b058-cf58834340f0
2006-02-07 08:52:56 +00:00
kkudin 7875126e68 Added missing dependencies for IBM SP3
Kostya


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2734 c92efa57-630b-4861-b058-cf58834340f0
2006-01-26 23:35:50 +00:00
kkudin d3dc252bde Added missing stuff when linking on IBM with XLF
Kostya


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2442 c92efa57-630b-4861-b058-cf58834340f0
2005-11-08 17:54:28 +00:00
giannozz 4be9cdb096 A link to a module was missing (Axel)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2416 c92efa57-630b-4861-b058-cf58834340f0
2005-11-03 07:45:44 +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 cac33e155c Do not include "<" and ">" in the INFO section
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2285 c92efa57-630b-4861-b058-cf58834340f0
2005-10-11 16:22:32 +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 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
degironc ac7906dc29 - makefile update after yesterday changes
- variable "ishybrid" added to Modules/funct.f90 to manage hybrid functionals
- duplicated subroutines in upftools/nclib.f90 removed


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2095 c92efa57-630b-4861-b058-cf58834340f0
2005-08-09 07:34:23 +00:00
giannozz b001e60d82 Possible out-of-bound error in ncpp2upf (found by Axel Kohlmeyer)
Updated Makefile with better dependencies (also by AK)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2086 c92efa57-630b-4861-b058-cf58834340f0
2005-08-03 16:55:41 +00:00
sbraccia 0351e4f492 Pseudopotential converter updated for metagga.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2036 c92efa57-630b-4861-b058-cf58834340f0
2005-07-19 15:09:53 +00:00
giannozz b30d8d2ab8 Filenames from command line read in a single routine (get_file
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1975 c92efa57-630b-4861-b058-cf58834340f0
2005-06-22 10:16:54 +00:00
cavazzon fca469ac7b - added a call to input_from_file.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1973 c92efa57-630b-4861-b058-cf58834340f0
2005-06-22 08:30:52 +00:00
giannozz 3a2c8c1d03 Use the "rcut" field in USPP to store rinner instead of 10
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1969 c92efa57-630b-4861-b058-cf58834340f0
2005-06-22 07:16:00 +00:00
cavazzon 856d5ced1f - fpmd2upf made more user friendly
- sph_bes, check on small G changed to avoid
  problems with log. atomic grid , that are dense near 0


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1921 c92efa57-630b-4861-b058-cf58834340f0
2005-05-27 13:49:19 +00:00
cavazzon 7c76ae48c1 - fix for fpmd2upf.f90, it did not compile
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1882 c92efa57-630b-4861-b058-cf58834340f0
2005-05-19 11:09:42 +00:00
ballabio fcc1f4d437 end module --> end module name [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1875 c92efa57-630b-4861-b058-cf58834340f0
2005-05-18 14:24:56 +00:00
ballabio d214f05b60 last end subroutine --> end subroutine name [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1874 c92efa57-630b-4861-b058-cf58834340f0
2005-05-18 14:02:51 +00:00
ballabio 58e011d62d end --> end program [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1870 c92efa57-630b-4861-b058-cf58834340f0
2005-05-17 17:20:29 +00:00
ballabio 315a100b4b more end --> end function [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1869 c92efa57-630b-4861-b058-cf58834340f0
2005-05-17 17:07:57 +00:00
giannozz f16aa6f635 Small patch from Axel: try to guess the wavefunction label
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1855 c92efa57-630b-4861-b058-cf58834340f0
2005-05-11 15:30:16 +00:00
cavazzon be4735261a - added gga
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1840 c92efa57-630b-4861-b058-cf58834340f0
2005-04-29 16:26:29 +00:00
giannozz def35656c0 Some cleanup (delta_e does only what is useful and where it is useful)
minor fixes here and there


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1815 c92efa57-630b-4861-b058-cf58834340f0
2005-04-19 14:18:34 +00:00
giannozz ebdd00b12a Incorrect conversion (amesh set to wrng value) in some cases
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1789 c92efa57-630b-4861-b058-cf58834340f0
2005-04-12 17:02:14 +00:00
ballabio 765729b8b3 merged make.sys and make.rules together
there was no reason they should be two different files
everybody must rerun configure
[Gerardo]


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1690 c92efa57-630b-4861-b058-cf58834340f0
2005-03-08 18:44:10 +00:00
degironc a46d223957 make.depend files are gererated by configure and are therefore always seen
as Modified by CVS. I think they should not be part of the CVS tree (SdG).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1501 c92efa57-630b-4861-b058-cf58834340f0
2004-12-10 12:12:40 +00:00
giannozz 1104a4b9b3 More small Makefile fixes
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1437 c92efa57-630b-4861-b058-cf58834340f0
2004-11-10 09:54:33 +00:00
ballabio 8a6525f4fe renamed .dependencies to make.depend, added them to CVS [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1434 c92efa57-630b-4861-b058-cf58834340f0
2004-11-09 10:53:55 +00:00
giannozz 1648ab6bf2 Patches from Axel Kohlmayer:
- iotk_scan in iotk_module had a mixed up 'intent' statement.
- sun ultra fire 3 compiler warnings
- cleanup in filename length (brought to 256)
- cleanup in include files


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1399 c92efa57-630b-4861-b058-cf58834340f0
2004-10-26 09:32:48 +00:00
cavazzon 18191b514c - applied patch from axel kohlmeyer
carlo


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1381 c92efa57-630b-4861-b058-cf58834340f0
2004-10-14 16:04:56 +00:00
cavazzon ab76796a44 - patch sent by axel kohlmeyer applied
to cpmd2upf
carlo


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1379 c92efa57-630b-4861-b058-cf58834340f0
2004-10-14 10:27:36 +00:00
degironc f4328698f0 07 Oct 2004 - a new utility virtual.x has been added to upftools
that can combine two pseudopotentials in UPF format to
             produce a third one (in the same format) for the virtual
             atom Vvirt = x * V1 + (1-x) V2 . For the time being it
             has only limited functionality as the two pseudos need
             to be defined on the same radial grid. (SdG)
             - a new utility initial_state.x has been added to PP that
             can computed the core level shift in the initial state
             approximation... in practice the first order derivative of
             the total energy with respect to DeltaV=V(excited)-V(GS).
             It is the analogue (via Janak theorem) of the core eigenvalue
             in the pseudopotential framework where the core electrons
             do not exist.
             In the present status it require both V(excited) and V(GS)
             to be defined in the preceeding SCF calculation.  (SdG)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1369 c92efa57-630b-4861-b058-cf58834340f0
2004-10-07 13:31:54 +00:00
ballabio 10f3300bf8 oops... [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1219 c92efa57-630b-4861-b058-cf58834340f0
2004-09-02 17:46:55 +00:00
ballabio 7bece4b4eb cleanup and some reorganization [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1217 c92efa57-630b-4861-b058-cf58834340f0
2004-09-02 17:07:31 +00:00
ballabio 5e1a01dd69 replicated code caused problems with dependencies, fixed [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1215 c92efa57-630b-4861-b058-cf58834340f0
2004-09-02 15:48:23 +00:00
giannozz b83d775f85 "matches" and "capital" are in flib now
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1114 c92efa57-630b-4861-b058-cf58834340f0
2004-08-17 20:03:12 +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
giannozz 19de58eb41 Missing modules again
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1011 c92efa57-630b-4861-b058-cf58834340f0
2004-06-25 17:12:50 +00:00
giannozz b4da6fadb8 Various T3E compilation problems
Any kind soul replacing the calls to zgefa and zgesl with lapack calls?


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@997 c92efa57-630b-4861-b058-cf58834340f0
2004-06-25 10:12:10 +00:00
giannozz 11dbe5df65 NLCC in fhi2upf, T3E compilation problems
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@975 c92efa57-630b-4861-b058-cf58834340f0
2004-06-16 13:03:28 +00:00
giannozz 14814e6394 cpmd2upf was yielding incorrect DFT if converting BLYP PPs
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@969 c92efa57-630b-4861-b058-cf58834340f0
2004-06-14 17:15:48 +00:00
giannozz 47c5de62f8 More USPP_related variables moved to Modules/uspp.f90
Note that lqx => lmaxq for consistency with other names
(those ending in x are static dimensioning)
Beware unexpected side effects (PG)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@933 c92efa57-630b-4861-b058-cf58834340f0
2004-05-31 17:55:33 +00:00
giannozz 5563bfdc66 Functions "capital" and "matches" taken out of module "parser"
and added to flib; duplicated routines removed. Manual update.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@900 c92efa57-630b-4861-b058-cf58834340f0
2004-05-19 16:56:56 +00:00
ballabio eb22926786 added support for g95
several small fixes to get it to compile [Gerardo]


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@859 c92efa57-630b-4861-b058-cf58834340f0
2004-05-06 13:06:16 +00:00
giannozz 9b5f80792d cpmdtoupf bug fixed
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@850 c92efa57-630b-4861-b058-cf58834340f0
2004-05-04 09:39:48 +00:00
giannozz e277741dc8 First steps in USPP merge between CP and PW:
PW: nqfm => nqfx, some us variables and aainit moved to Modules/uspp.f90 (new)
CP: lx, lqx => lqmax, lix => lmaxx+1, variables moved, aainit not yet merged
invmat moved to flib/ and merged with invmat3 of CP/FPMD,
rndm and ylmr2 moved to flib/ in rranf.f90


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@793 c92efa57-630b-4861-b058-cf58834340f0
2004-04-13 21:49:51 +00:00
ballabio 39de03c63f cleanup in Makefiles
changed name of PWNC/pw.x to PWNC/pwnc.x [Gerardo]


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@729 c92efa57-630b-4861-b058-cf58834340f0
2004-03-16 14:47:58 +00:00
giannozz 36f3a976b3 Makefile cleanuo. In upftools executables are *.x as everywhere.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@728 c92efa57-630b-4861-b058-cf58834340f0
2004-03-15 15:59:52 +00:00
ballabio ff247c327d Cleanup [Gerardo]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@439 c92efa57-630b-4861-b058-cf58834340f0
2003-12-02 15:47:00 +00:00
giannozz dd484a9c2f PW/input.f90: lattice parameter a converted to wrong units if input
is given as a,b,c,cos(ab),cos(ac),cos(bc) instead of celldm(:)
upftools/cpmd2upf.f90: wrong conversion due to Rydberg-Hartree mess
Minor cleanup.  Band plotting may output data in xmgr-readable format


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@327 c92efa57-630b-4861-b058-cf58834340f0
2003-10-08 15:55:15 +00:00
giannozz 3a086b820c Installation cleanup; fftw are compiled by default
All Makefiles updated for addition of Berry phase code
iargc, getenv, getarg preprocessed
Missing Blas/Lapack sources for pw added


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@228 c92efa57-630b-4861-b058-cf58834340f0
2003-06-12 07:43:14 +00:00
degironc 7bf0c09bf6 20 mar 2003 - relaxation using damped dynamics can be used keeping fixed
last fixatom atoms (with the same input procedure as the bfgs
             minimization).
             - LDA+U part has been modified in order run also in the not
             spin-polarized case (some testing still neeeded).
             - Davidson diagonalization returns best estimate for
             eigenvalues and eigenvectors also in the case that not all
             roots have converged. This is more consistent and should
             somehow alleviate the problem of WARNING messages in scf and
             band structure run.
             - Number of beta function in pseudopotentials increased to 8.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@130 c92efa57-630b-4861-b058-cf58834340f0
2003-03-20 11:21:34 +00:00
giannozz 5542a00340 Misc. installation and doc fixes
T3D, T3E, __CRAY => __T3E  ; PC => __LINUX


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@99 c92efa57-630b-4861-b058-cf58834340f0
2003-02-27 13:59:04 +00:00
giannozz afb4531f8e Bug in Gamma/raman.f90 fixed
Bug in PP/work_function.f90 fixed (sort of)
LIB, LIBS => LIBS in all Makefiles


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@91 c92efa57-630b-4861-b058-cf58834340f0
2003-02-24 20:53:26 +00:00
giannozz 9e3a2de758 Support for lahey compiler added: "error" renamed to "errore", "rnd" to "rndx"
bug in io_base fixed
PARA => __PARA
cinterpolate moved into interpolate


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@86 c92efa57-630b-4861-b058-cf58834340f0
2003-02-21 14:57:00 +00:00
cavazzon 92b9450601 Makefiles and Make.sys files changed,
now everywhere the linker is "LD" and the linker flags are "LDFLAGS"


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@76 c92efa57-630b-4861-b058-cf58834340f0
2003-02-14 23:36:46 +00:00
giannozz 76abd7d345 More manual updates
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@26 c92efa57-630b-4861-b058-cf58834340f0
2003-01-27 18:05:35 +00:00
cavazzon 15dd1c757c - many small changes ( comments and standartd output layout )
- some new pseudo
- some new cp_examples
- NEW shared module constants, this is the merge of FPMD and PW constants module
- NEW fpmd2upf pseudo converter (from fpmd format to upf )

carlo


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@22 c92efa57-630b-4861-b058-cf58834340f0
2003-01-26 22:39:33 +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