Commit Graph

146 Commits

Author SHA1 Message Date
giannozz 34b5009948 Better workaround for clean_pw
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5205 c92efa57-630b-4861-b058-cf58834340f0
2008-09-19 09:53:11 +00:00
giannozz b14ae22a3e Removed q-point from PWscf (variable xqq), removed phonon-related variables
from xml file (beware unexpected side effects in phonon restart).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5203 c92efa57-630b-4861-b058-cf58834340f0
2008-09-18 20:27:46 +00:00
giannozz c1bd349664 name redirection in moduli should be avoided unless strictly necessary
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5179 c92efa57-630b-4861-b058-cf58834340f0
2008-09-05 17:11:25 +00:00
giannozz dbb1e3a36a Nuclear masses incorrectly printed for variable-cell calculations
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5165 c92efa57-630b-4861-b058-cf58834340f0
2008-09-03 09:02:12 +00:00
giannozz 0ba7d042a7 Fixed side effect of yesterdays's changes: neb was no longer working.
set_defaults_pw should no longer be useful, since all variables that
are used in a non-scf calculation should be properly initialized
elsewhere, while those that are not initialized are not used


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5160 c92efa57-630b-4861-b058-cf58834340f0
2008-09-02 08:24:49 +00:00
giannozz be76efc343 More cleanup (?): modules "uspp" and "symme" extracted from "pwcom"
everywhere. I didn't like the previous half-baked state.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5128 c92efa57-630b-4861-b058-cf58834340f0
2008-08-23 17:55:06 +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
giannozz bee3152f5a Call to "setup" in phonon replaced by a call to a new routine "setup_ph".
No real advantage yet, but this will allow some badly needed cleanup in
"setup" and later to disentangle pwscf from phonon. Removed unused variable
"starting_diag_threshold".


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5116 c92efa57-630b-4861-b058-cf58834340f0
2008-08-09 15:39:04 +00:00
dalcorso d3b31c3cc3 A tentative to improve the phonon recover.
Introduced four new input variables:

start_q, last_q  Makes the phonon calculation for a subset of the q points.
                 From start_q to last_q.

start_irr, last_irr Makes the phonon calculation for a subset of the
                 irreducible representations.

Removed the input variable maxirr.

Starting k points now written in the punch file.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5066 c92efa57-630b-4861-b058-cf58834340f0
2008-07-23 08:46:48 +00:00
giannozz afb9e2046e "Cartesian", not "Carthesian" !!!!!
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5010 c92efa57-630b-4861-b058-cf58834340f0
2008-06-20 08:30:08 +00:00
umari e987e641cc New options for Berry's phase electric field.
Now the field can be defined on an arbitrary direction.

P.U.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4968 c92efa57-630b-4861-b058-cf58834340f0
2008-06-09 16:43:53 +00:00
dalcorso 0375acce30 Variable so(nt) removed: so(nt) -> upf(nt)%has_so.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4929 c92efa57-630b-4861-b058-cf58834340f0
2008-05-15 12:58:11 +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
giannozz f0131ac042 1) bug fix in restart: Hubbard_l should be dimensioned as the number of
different species (courtesy of Matteo Calandra and Christos Gougoussis)
2) nd_nmbr calculated with an easily extensible algorithm: now we can
easily calculate them for 2^31 processors ...


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4638 c92efa57-630b-4861-b058-cf58834340f0
2008-01-22 17:37:24 +00:00
umari accd29d96e Now the ionic polarization when a Berry's phase electric field
is switched on is correctly reported, and the total energy
contais the electric field contribution.
Structural relaxations at fixed cell are possible.

P.U.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4632 c92efa57-630b-4861-b058-cf58834340f0
2008-01-17 11:48:49 +00:00
dalcorso 563c7f8066 Cleanup.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4612 c92efa57-630b-4861-b058-cf58834340f0
2008-01-06 14:33:19 +00:00
cavazzon a5fd4ec078 - simplified call tree for 3d fft driver,
not depending on modules contained in PW, but only on
  modules. This is useful for future modularization.
- The high level interfaces cft3 and cft3s has not
  been changed yet. Please have a look of what
  is implemented in CP (fft.f90 module) and let me know.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4579 c92efa57-630b-4861-b058-cf58834340f0
2007-12-31 11:05:59 +00:00
umari 9349f84e21 Added US forces with Berry's phase electric field
Corrected bug in NC forces with Berry's phase electric field.

P.U.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4564 c92efa57-630b-4861-b058-cf58834340f0
2007-12-27 17:48:29 +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
giannozz 885410ba15 Some cleanup in the various diagonalization routines, h_psi and s_psi.
Note that both the electric enthalpy term and the noncollinear routines
are called by h_psi and s_psi. Changes should be harmless.


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


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4468 c92efa57-630b-4861-b058-cf58834340f0
2007-11-22 14:23:04 +00:00
degironc ae8be06438 also the scf potential is defined using the scf_type.
then call to v_of_r has been simplified


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4442 c92efa57-630b-4861-b058-cf58834340f0
2007-11-18 20:25:11 +00:00
giannozz be4afd197a startingwfc='atomic-safe' was ignored (the variable was 6 characters!)
Now it works (i.e. it does something, as opposed to doing nothing)
with a more descriptive and less promising name: startingwfc='atomic+random'
Some cleanup of Berry phase and electric fields stuff - shouldn't change
anything. More descriptive message about surviving static dimensions.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4439 c92efa57-630b-4861-b058-cf58834340f0
2007-11-16 17:35:48 +00:00
degironc a6b0fea63d more changes in scf_mod. mix_rho is getting simpler and more transparent,
scf_mod contains more stuff, but it should be rather simple.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4419 c92efa57-630b-4861-b058-cf58834340f0
2007-11-10 15:07:51 +00:00
paulatto e8706afc54 Added routine to symmetrize becsum when PAW calculation is being performed. It still needs some test. As a collateral effect d1,d2 and d3 variables in modules symme (pwcom.f90) are now marked as TARGET. File make.depend updated accordingly.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4412 c92efa57-630b-4861-b058-cf58834340f0
2007-11-09 12:45:43 +00:00
paulatto 2130e0ae14 d1, d2 and d3 matrices (used to symmetrize lda+u ns) moved from module ldau to module symme, thay will be used for PAw too. A few small
fixes.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4400 c92efa57-630b-4861-b058-cf58834340f0
2007-11-06 12:54:17 +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
giannozz 26628f09a8 A few changes lost in last commit re-installed
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4353 c92efa57-630b-4861-b058-cf58834340f0
2007-10-18 15:12:38 +00:00
umari 77aec8c1f1 Now Berry's phase electric fields work also in parallel
for gdir == 1 and gdir ==2

P.U.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4351 c92efa57-630b-4861-b058-cf58834340f0
2007-10-17 19:12:51 +00:00
giannozz 92d2c02c40 Old BHS potentials removed everywhere
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4345 c92efa57-630b-4861-b058-cf58834340f0
2007-10-16 15:07:42 +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
dalcorso 24d9b6f9e4 If lgamma=.true., find_mode_sym writes a label to identify
infrared (I), Raman (R) or infrared+Raman (I+R) active modes.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3815 c92efa57-630b-4861-b058-cf58834340f0
2007-02-24 14:51:00 +00:00
giannozz 400cfcd37b Two meta-gga variables were not deallocated at the end of the run
(clean_pw). This was causing "already already deallocated" errors.
A third variable was not used at all and has been removed.


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


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3779 c92efa57-630b-4861-b058-cf58834340f0
2007-02-13 21:39:20 +00:00
ceresoli 21f7d5ebca Splines are disabled by default, but now they are
compiled in. Set spline_ps = .true. in the &system namelist.
(D.C.)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3717 c92efa57-630b-4861-b058-cf58834340f0
2007-01-25 11:42:52 +00:00
giannozz 17bb64fd14 Minor cleanup: v(0) calculated together with v; non_scf routine
put into a separate file


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3707 c92efa57-630b-4861-b058-cf58834340f0
2007-01-23 17:31:15 +00:00
giannozz 2deb62402a Initialization of uninitialized variables:
- hubbard_max (used in allocate_nlpot, not initialized by post-processing
  codes) set to 0 in module ldaU
- istep (wasn't set in scf case) set to 0 in module control_flags
  (why does istep run from 0 up instead of 1 ???)
- r_m set to 0 in module noncolin (make_pointlist expects a value)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3613 c92efa57-630b-4861-b058-cf58834340f0
2006-12-18 09:56:37 +00:00
umari 546d765916 Changement to the treatment of the Berry's phase electric
field. Now the projectors for the hermitean el. field operator
which depend on the wavefunctions,
are calculated just once and store on disk for every diagonalization

It permits much faster execution in particular for cg minimization.

P.U.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3607 c92efa57-630b-4861-b058-cf58834340f0
2006-12-15 23:18:19 +00:00
giannozz ffb671c18b wfcatom and swfcatom have two indices also in the noncollinear case,
in analogy to evc.

Apparently swfcatom_nc was used but not allocated in noncollinear
calculations with LDA+U (not sure it was implemented, though)

There is still something I don't understand in wfcinit: the starting
wavefunctions needs to be set to 0 for n>npw at the end of the routine,
while it should be sufficient to clean them at the beginning. This might
be a sign that we are overwriting a zone that should not be overwritten.


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


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3437 c92efa57-630b-4861-b058-cf58834340f0
2006-10-06 14:08:36 +00:00
giannozz 4b02c49e54 There still some confusion about the meaning of the various energy terms.
I added some comments here and there and slightly modified the output,
removing the 'band sum' which seems to me of no interest to anybody,
leaving the various contributions whose sum adds up to the total energy.
The nfamous 'correction for metal' is labeled as ' "-TS" contribution ',
so making clear that there can be a relation with the free energy


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3422 c92efa57-630b-4861-b058-cf58834340f0
2006-09-29 13:35:55 +00:00
ceresoli 8fe7fec7af Added spline interpolation of the pseudopotentials. Disabled by default,
unless you add -DUSE_SPLINES to DFLAGS in your make.sys. Magnetic response
slightly improved by splines. By D. Ceresoli


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3394 c92efa57-630b-4861-b058-cf58834340f0
2006-09-15 09:06:15 +00:00
giannozz 6af28069c8 index igk_l2g, used only in pw_restart, is now local to that module
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3346 c92efa57-630b-4861-b058-cf58834340f0
2006-08-28 16:56:41 +00:00
giannozz 3899afae5b - npwx should be summed over pools in order to prevent problems at
restart. There still is a crash whose origin is unclear, though.
- some minor cleanup here and there


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


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3256 c92efa57-630b-4861-b058-cf58834340f0
2006-07-07 20:16:45 +00:00
giannozz 8276662c0f Added support for Intel MKL v.8 FFTs (courtesy of Nicolas Lacorne).
Preprocessing flag -D__FFTMKL8 must be used (configure hasn't been
configured for this case). Whoever has access to MKL v.8 is invited
to try and to report if it works better than FFTW. Note from the author:
"it requires a minor bug correction in the MKL. It has been submitted
 to Intel and will be integrated in their next release."


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3203 c92efa57-630b-4861-b058-cf58834340f0
2006-06-23 15:47:59 +00:00
sbraccia ea0935fb5f Fixed a bug in the definition of the diagonalization thresholds for empty
states. This bug (introduced at the end of May 2005) was responsible for
somehow wrong results in the case of calculations with many k-points.
Cleanup of diagonalization thresholds: wg_set variable removed and btype array
is now set in sum_band.
Added a logical input variable (diago_full_acc) to decide if the empty states
(defined as states with occupation < 1%) have to be converged at full accuracy
or not. Defaul is .FALSE. (I am not sure this is the best choice, comments
appreciated).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3040 c92efa57-630b-4861-b058-cf58834340f0
2006-04-24 17:32:08 +00:00
giannozz 052216b669 More static allocations replaced by dynamic ones (nbndxx)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2975 c92efa57-630b-4861-b058-cf58834340f0
2006-03-28 19:43:35 +00:00