Commit Graph

39 Commits

Author SHA1 Message Date
ccavazzoni 8f64d3cacb - trailing blaks were causing problems on NEC SX compiler.
thanks to Harald Klimach


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5776 c92efa57-630b-4861-b058-cf58834340f0
2009-07-30 12:35:33 +00:00
ccavazzoni 82e05bc911 - better omp syntax... guess what... the old one was causing
an internal compiler error with ifort 10.1


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5769 c92efa57-630b-4861-b058-cf58834340f0
2009-07-29 13:02:10 +00:00
ccavazzoni 138565c86a - better omp parallelization of paw_onecenter
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5764 c92efa57-630b-4861-b058-cf58834340f0
2009-07-29 12:33:38 +00:00
ccavazzoni 6d44eb9db9 - added support for vector XC drivers
- more MPI and OpenMP parallelizations


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5758 c92efa57-630b-4861-b058-cf58834340f0
2009-07-26 19:05:44 +00:00
ccavazzoni b7c1427ea7 - new way of distributing data...
if the number of processors are less or equal the number of atoms,
  nothing is changed... atoms are distributed to processors
  if the number of processors is greater than the number of atoms
  the same atom can be assigned to more than one processor so that
  the work for each atom can be shared.
  All this is required for scalability of PAW simulation
- OMP parallelization


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5750 c92efa57-630b-4861-b058-cf58834340f0
2009-07-24 13:36:01 +00:00
ccavazzoni 91bd0543b2 - bug fix, problem with a recent commit.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5746 c92efa57-630b-4861-b058-cf58834340f0
2009-07-24 10:39:18 +00:00
ccavazzoni f5fb5355c2 - vxc_t and exc_t replaced by vxc_t_vec and exc_t_vec
for better performances


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5735 c92efa57-630b-4861-b058-cf58834340f0
2009-07-22 14:38:44 +00:00
paulatto 90dc290305 Circular dependency removed (offending subroutine moved to PP/paw_postproc.f90)
LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5604 c92efa57-630b-4861-b058-cf58834340f0
2009-06-15 07:54:05 +00:00
giannozz 4541ba4cbd Added DFT-D, i.e. plus semiempirical dispersions (courtesy of Daniel Forrer)
Example and documentation still missing, coming soon


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5599 c92efa57-630b-4861-b058-cf58834340f0
2009-06-14 19:05:55 +00:00
paulatto 7a598df0b9 Added plot of all-electron valence charge for PAW, still undocumented it
can be accessed with plot_num=15.
LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5597 c92efa57-630b-4861-b058-cf58834340f0
2009-06-12 15:38:03 +00:00
dalcorso 235f4099fc Bugs fix: two allocated, unused and nondeallocated variables removed.
Added two missing deallocations.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5539 c92efa57-630b-4861-b058-cf58834340f0
2009-04-30 16:13:36 +00:00
dalcorso 336720c2ee Added support for DFPT+PAW+GGA.(Still experimental)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5342 c92efa57-630b-4861-b058-cf58834340f0
2009-01-01 12:44:01 +00:00
paulatto bf526ca969 Removed obsolete comment
LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5335 c92efa57-630b-4861-b058-cf58834340f0
2008-12-12 15:48:57 +00:00
dalcorso 2f0915fd17 DFPT with PAW (initial implementation).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5321 c92efa57-630b-4861-b058-cf58834340f0
2008-12-02 17:47:55 +00:00
paulatto f60f1035c6 Reverting yesterday's commit: in the end the problem with paw_gcxc_potential
was the dear old stack limit. Wasn't it disabled automagically?
LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5169 c92efa57-630b-4861-b058-cf58834340f0
2008-09-04 09:19:28 +00:00
paulatto 285bf823f5 Subroutine paw_gcxc_potential was being somhow miscompiled by intel compiler
causing misterious segmentation faults when called under reproducible but
apparently irrelevant conditions. The bug may be related to some misbehaviour
of derived types.

Changing the subroutine to "contained" (inside paw_xc_potential) seems to
work around the problem and have no collateral effects.

LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5167 c92efa57-630b-4861-b058-cf58834340f0
2008-09-03 19:19:25 +00:00
paulatto 2a83455012 Little voodoo change in paw_onecenter to prevent extremely uncommond but
strange problems with more recent versions of openmpi libraries.

Removed unnecessary debug prints from gener_pseudo

LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5061 c92efa57-630b-4861-b058-cf58834340f0
2008-07-22 12:41:30 +00:00
paulatto 9f0dfa6dc6 *** empty log message ***
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4966 c92efa57-630b-4861-b058-cf58834340f0
2008-06-06 10:03:38 +00:00
paulatto 4819902840 Last minute fix: precision of radial integrals kicked up a notch,
except for s-only elements where it has been reduced. Examples updated
accordingly.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4904 c92efa57-630b-4861-b058-cf58834340f0
2008-05-13 12:20:15 +00:00
paulatto e0e13a048c Little modification in paw_init to make it work with pwcond (thanks to ADC)
Removed unuseful summary from summary
Minor changes in paw_onecenter

LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4873 c92efa57-630b-4861-b058-cf58834340f0
2008-05-07 15:32:50 +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
giannozz 4dc4266f0b Misc small changes for Alpha compilation warning, by G. Cantele
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4731 c92efa57-630b-4861-b058-cf58834340f0
2008-03-06 20:02:06 +00:00
paulatto 69c94cadb8 Various bugfixes:
becsum is now saved on file, to allow restart with PAW; it still needs some testing.

As a consequence read/write of lda+U ns coeffs have been unified with becsum and rho.
Subroutines read_rho and write_rho from "io_rho_xml.f90" are now managed by an interface:
if param #1 is rho(nrxx,nspin) it will call the old subrt; if param #1 is of scf_type
it will save becsum and ns too in separate files (xml is not used, but can be added
easily now).

Fixed uninitialized variable in dynamics_module caused crashes in parallel MD.

Added error handling in paw part of read_upf.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4683 c92efa57-630b-4861-b058-cf58834340f0
2008-02-08 14:56:52 +00:00
paulatto 848217bc9f HWF energy + PAW should work again, better initial becsum.
Added documentation for cell_dynamics='bfgs' in INPUT_PW
Many random fixes and, mostly paw-related.
LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4681 c92efa57-630b-4861-b058-cf58834340f0
2008-02-07 13:48:46 +00:00
paulatto 7dfdcd0df0 PAW is now correctly parallelized on images, not on pools.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4661 c92efa57-630b-4861-b058-cf58834340f0
2008-01-25 16:18:17 +00:00
paulatto ccc6a71a8f Bugfix: PAW should work in parallel with pools
Bugfix: PAW stress should work in parallel, even with pools
Bugfix: vc-bfgs should have a consistent convergence threshold (by SdG)
        (its existence should be reported in INPUT_PW too!)

Note: I had to move some initialization from allocate_nlpot to a new function
      pre_init that I've put in PW/setup.f90; it's called by setup and read_file
Note: the scf_mod part of PAW is now much better, becsum and rho%bec are NOT
      the same any more (rho%bec is mixed and recollected among pools,
      becsum is not).

LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4657 c92efa57-630b-4861-b058-cf58834340f0
2008-01-24 17:02:01 +00:00
dalcorso 49eb261d00 Bug fix: PAW was not working any more in parallel.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4574 c92efa57-630b-4861-b058-cf58834340f0
2007-12-31 08:53:20 +00:00
paulatto 3f4cc01569 Trying to simplify paw self-consistency I have put becsum into the scf type, this requires a bit of a hack.
Symmetrization of becsum simplified a bit introducing mapping to "triangular" composite index.
Read upf now uses default (*) format for paw part.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4529 c92efa57-630b-4861-b058-cf58834340f0
2007-12-14 14:22:10 +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
paulatto c292822bde A few modification aiming at the solution of PAW convergence problems, not yet definitive.
Precision of dylmr2 increased a bit, maybe it's not necessary
mix_rho messed up a bit, included the possibility to normalize mixing matrix (disabled by default)
Added a currently unused function in paw_init to increase integration precision on the fly


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


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4468 c92efa57-630b-4861-b058-cf58834340f0
2007-11-22 14:23:04 +00:00
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
paulatto 73e6ffea68 Minor fixes
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4458 c92efa57-630b-4861-b058-cf58834340f0
2007-11-20 14:36:41 +00:00
paulatto 68bd232899 A lot of little improvements and little new features have been added to PAW
routines, actually results should be the same, and execution time should be
a lot shorter.
 * each atom type now integrated to a different max(l)
 * max(l) tuned in order to exclude the non local channel of pseudo-
   potential, if it's empty
 * several implementation optimization
 * all occurences of ALLOCATABLE changed to POINTER inside derived types
 * added original Bloechl shape for augmentation charge, at the moment it
   is not useful but if someone wants to implement analylitical correction
   to overlaps...
 * PAW now uses UPF format, the format is still being tested: it will
   probably change a bit in the near future
 * as a consequence radial grids are now pointed from upf type and can be
   updated directly in read_upf, upf_to_internal don't have to set the grid
   anymore (at the moment only for pseudos read from upf files)
 * added a non-destructive check for abs(zeta)>1. in vxc_t
LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4449 c92efa57-630b-4861-b058-cf58834340f0
2007-11-19 16:20:26 +00:00
giannozz 28b4e9ba19 Minor cleanup; max number of species brought back to 10
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4447 c92efa57-630b-4861-b058-cf58834340f0
2007-11-19 14:51:15 +00:00
paulatto 4e96b9de36 All pseudopotential data required for PAW is now dynamically allocated inside the upf structure. Parameters ndmx and nbrx are no more ne
cessary for PAW, the latter has been moved to GIPAW/gipaw_module.f90, as it is only used there.

Added a little trick to free some memory after the initialization is completed (only for parallel .and. PAW, but similar method could be
 used for US too; is it worth the hassle?)

Minor changes in paw_symmetrize (added parallel) and paw_newd.

LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4431 c92efa57-630b-4861-b058-cf58834340f0
2007-11-13 15:15:28 +00:00
paulatto ba104ee27e Step 2 of many: rho core and local potential moved to upf.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4426 c92efa57-630b-4861-b058-cf58834340f0
2007-11-12 17:19:46 +00:00
paulatto 513379419b Step 1 of many: paw augmentation functions moved to upf structure
(I apologise for the many check-ins I'll do, but I have to keep track of changes.)
LP


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4424 c92efa57-630b-4861-b058-cf58834340f0
2007-11-12 16:20:55 +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