Commit Graph

130 Commits

Author SHA1 Message Date
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
sbraccia 39aa8f58be Dynamics with wannier functions: variables wf_dt and wfdt unified. Added a check on
the input value of calwf.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2119 c92efa57-630b-4861-b058-cf58834340f0
2005-08-23 18:42:25 +00:00
cavazzon 260828432d - FPMD: pseudopotential variable wsg, wnl, fnl substituted with
dion, beta, bec everyware.
- subroutines formfn, compute_beta, nlsm1, nlsm2, ecc ... now are common
  between FPMD and CPV, a lot of clean ups!
- Changes in stdout: relevant physical quantities ( positions velocities an cell )
  are now printed with the seme format of the corresponding input card,
  like in PW, as was suggested by SdG.
- exemple23 updated to reflect the new input namelist "wannier"
- Subroutine init_run now is used in FPMD too.
- WARNING in the stress computed with CP, for a pseudo with core-corrections,
  a contribution is missing! Not yet fixed, I need to talk with PG for the
  box staff.
- WARNING the examples reference are not updated, I'm on the IBM sp, and
  I prefer to update them from a linux machine.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2110 c92efa57-630b-4861-b058-cf58834340f0
2005-08-22 14:14:13 +00:00
umari adcdcdc601 added support for electric field
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2099 c92efa57-630b-4861-b058-cf58834340f0
2005-08-16 12:56:49 +00:00
giannozz f380d259a0 Default value for max_second increased to 1d7, i.e. 115 days
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2061 c92efa57-630b-4861-b058-cf58834340f0
2005-07-29 16:33:08 +00:00
cavazzon c4101a5e7e - CP/FPMD clean-ups
- CP: NEB is working again! (at least on the case of the example17)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2056 c92efa57-630b-4861-b058-cf58834340f0
2005-07-28 16:30:19 +00:00
cavazzon 59b4f60f8b - FPMD/CP variable "nbnd" and "nelec" are computed automatically if
not specified in the input, like in PW
- FPMD/CP directory for restart file now could be specified with
  the input parameter "scradir" in the control namelist
- FPMD: NEB is working again!


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2051 c92efa57-630b-4861-b058-cf58834340f0
2005-07-27 16:09:03 +00:00
kkudin 930619e2b2 by Kostya
This patch adds "massive" Nose-Hoover chains for ions (i.e. each ion
can have a separate NH chain attached to it)
Some fixes are still needed in different places:
-the information on the number of NH chains [nhpdim] needs to be
saved and read from the restart file (not done now)
-the NH velocities also need to be all saved [nhpdim*nhpcl]
-an input option needs to be added to zero out the NH velocities during
a restart in order to permit "on the fly" thermostat changes
-deallocation of the module variables gives glibc error with IFC 8.0 & 8.1 in
cpr.f90


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1998 c92efa57-630b-4861-b058-cf58834340f0
2005-07-05 21:02:48 +00:00
sbraccia eaa2293534 Added a card for plotting wannier functions (and related stuff).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1991 c92efa57-630b-4861-b058-cf58834340f0
2005-07-01 20:39:45 +00:00
sbraccia 2d5fa8a23e Added a namelist for cp-dynamics with wannier functions (and related stuff).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1990 c92efa57-630b-4861-b058-cf58834340f0
2005-07-01 14:26:10 +00:00
sbraccia 65922c19c0 Added variables for dynamics in the coarse-grained phase-space (metadynamics)
defined by the constraints that can be set with the appropriate card.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1918 c92efa57-630b-4861-b058-cf58834340f0
2005-05-26 22:42:05 +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
sbraccia 17ab30a094 Added the possibility of using mass weighted coordinates. Other minor fixes.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1834 c92efa57-630b-4861-b058-cf58834340f0
2005-04-27 21:48:39 +00:00
sbraccia 3093b314e1 BFGS: the initial step is reduced when the forces are smaller than a given threshold.
The linear scaling algorithm has been removed (never used and bad performance) allowing for
a considerable clean up of the module.
A new Pulay mixing has been added on top of the BFGS scheme which improves (sometimes considerably)
the performace of the relaxation (similar to the GDIIS). It is activated by setting bfgs_ndim (default is 1
which corresponds to no Pulay mixing). The algorithm has to be tested against difficoult problems.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1823 c92efa57-630b-4861-b058-cf58834340f0
2005-04-20 23:43:15 +00:00
sbraccia 5ce7ef07c0 NEB and STRING dynamics reorganised. Added a new module containing the routines used for the reparametrisations.
Added the possibility of doing the string dynamics in real space (the original recipe).
The Fourier representation of the path is switched on by setting the logical input variable "use_fourier".
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1810 c92efa57-630b-4861-b058-cf58834340f0
2005-04-16 17:07:39 +00:00
cavazzon b8a7f0bd86 - FPMD/CP90 ionic and electronic nose' thermostat merged
- clean-up


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1763 c92efa57-630b-4861-b058-cf58834340f0
2005-03-26 15:29:07 +00:00
degironc 002bb2ae2b Input variables for imposing constraints on local and global magnetic
moments have been changes

i_cons, mcons have been removed from input (still there in the code)

added variables:
constrained_magnetization='none','atomic','atomic direction','total'
fixed_magnetization(3) (value of the total magnetization to be fixed)
B_field are introduced (if non zero is the value of the added magnetic field)

for 'atomic' or 'atomic direction' constraint the input magnetization
as defined by starting_magnetization, angle1, angle2 or the cosine of angle1
is used to define the constraint.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1747 c92efa57-630b-4861-b058-cf58834340f0
2005-03-23 17:20:26 +00:00
dalcorso 37a254eb00 Introduced some experimental constraints on the magnetization.
With i_cons = 3; A penalty functional is added to the
               total energy to constrain each component of the
               total magnetization.
               (Only in noncolinear version)

With i_cons = 4; a fixed magnetic field is added to the
               exchange and correlation magnetic field.
               (Only in noncolinear version)

With i_cons = 5; Uses the two Fermi energies feature to fix the
               magnetization as in the constrained-moment approach.
               mcons(3,1) fix the value of the total magnetization.
               (Only with nspin=2)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1720 c92efa57-630b-4861-b058-cf58834340f0
2005-03-18 10:42:56 +00:00
cavazzon bd437a16d3 - Nose' chain from K.Kudin added to CVS
TO BE CHECKED!!
- iotk_multitype_integer splitted into two files to
  workaround compiler problem (IBM xlf) with small simbol stack
- new module with SIC variables


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1712 c92efa57-630b-4861-b058-cf58834340f0
2005-03-15 14:35:47 +00:00
cavazzon 878a9ebece - more cpv/fpmd merging
- FFT grid (nr1,nr2,nr3 nr1s,nr2s,nr3s) now can be specified in the
  input


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1671 c92efa57-630b-4861-b058-cf58834340f0
2005-03-02 10:03:55 +00:00
sbraccia e3510cf3dc NEB and Fourier String dynamics: the quasi-Newton Broyden's second method has
been fully implemented: it is ~2 times faster than the quick-min optimisation scheme.
It does not make use of the input step ds (the step is automatically upgraded as in the
BFGS method). Still to be tested on difficoult cases (I ask some help from those
who have encountered convergence problems with the previous versions of NEB). C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1668 c92efa57-630b-4861-b058-cf58834340f0
2005-02-25 14:51:41 +00:00
sbraccia 198649869c Fixed other problems related to the image-parallelisation of NEB and SMD.
Documentation updated.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1616 c92efa57-630b-4861-b058-cf58834340f0
2005-02-06 11:04:03 +00:00
sbraccia 7b022ce276 Order in wavefunctions extrapolation made independent from the order in potential extrapolation.
The input keyword "potential_extrapolation" has been substituted by two separate keywords "pot_extrapolation" and "wfc_extrapolation".
Default values are still 'atomic' for the former and 'none' for the latter. Documentation updated.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1551 c92efa57-630b-4861-b058-cf58834340f0
2005-01-10 06:56:14 +00:00
cavazzon 56322ee7d7 - added ensemble dft
- added ensemble dft / conjugate gradient / electric field
  from Paolo Umari / Marzari code
- NOT YET TESTED!!


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1524 c92efa57-630b-4861-b058-cf58834340f0
2004-12-21 15:48:19 +00:00
sbraccia 3413d6cd87 Default value for dt (MD time step) set to 20 a.u.
Documentation updated.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1499 c92efa57-630b-4861-b058-cf58834340f0
2004-12-09 07:31:40 +00:00
sbraccia 0c82a0b539 Cleanup of the pwscf molecular dynamics stuff. Velocity rescaling fully implemented.
Documentation updated. Unused variables and routines removed.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1483 c92efa57-630b-4861-b058-cf58834340f0
2004-11-26 16:49:02 +00:00
sbraccia 01023df017 path optimization:
1) cleanup of the output format (more informative)
   2) some cleanup of internal routines
   3) added a couple of input variables and changed the default value
      of ds from 1.5 to 1.0.
BFGS optimization:
   1) implemented a mixed BFGS + Murtag-Sargent update of the inverse
      hessian which is generally faster than the pure BFGS
   2) trust_radius_max increased to 0.8 bohr
   3) some cleanup of internal routines
(C.S.)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1414 c92efa57-630b-4861-b058-cf58834340f0
2004-11-03 09:53:12 +00:00
sbraccia 3fd1e87edd Several improvements of the string dynamics.
Added a use_multistep input variable that allows fourier modes to be gradually included.
Added a langevin opt_scheme in which the string performs a langevin dynamics in the path space.
In the langevin scheme a canonical sampling of the initial and final configurations can also be done "on the fly" setting first_last_opt=.TRUE..
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1373 c92efa57-630b-4861-b058-cf58834340f0
2004-10-13 08:18:15 +00:00
sbraccia f50f901233 path optimizations: added the possibility to write the prefix.save file (logical varible write_save) relative to each
image (needed for post-processing). C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1290 c92efa57-630b-4861-b058-cf58834340f0
2004-09-15 12:35:54 +00:00
cavazzon 5e5b2e6139 - same cell dynamics subroutines used in CP and FPMD
- input pressure in GPa ( both code )
- Output stress in GPa ( both code )
- Output layout made more similar:
  energies, positions, forces, cell
  displayed in the same way
- Zero velocities after a restart implemented in CP
- Nose and damped dynamics for cell implemented
  in FPMD like in CP
carlo


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1260 c92efa57-630b-4861-b058-cf58834340f0
2004-09-13 08:49:06 +00:00
cavazzon 1be2feeb88 - more mergings between CP and FPMD
- initialization (both code uses the same ggen)
- now FPMD initializes the small-boxes too (required for untrasoft pseudo)
- print out


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1186 c92efa57-630b-4861-b058-cf58834340f0
2004-08-27 10:20:42 +00:00
giannozz d43140a669 Fixed compilation problem in phonon (parallel)
Re-fixed bad initialization of startingpot with calculation='raman'


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1178 c92efa57-630b-4861-b058-cf58834340f0
2004-08-26 16:18:28 +00:00
sbraccia 71f59fbcb2 NEB code reorganization. All the routines involved in "path" optimization
are grouped into modules starting with "path_". The output has been slightly
restyled. In the pwscf code (only) has been implemented a version of the string
method (calculation='smd') in which the path is represented in Fourier components
and the optimization procedure is done on these components (still to be
optimized, but working).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1119 c92efa57-630b-4861-b058-cf58834340f0
2004-08-18 15:53:01 +00:00
giannozz 80fe00f47f Initialization of startingpot in the "raman" case fixed
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1112 c92efa57-630b-4861-b058-cf58834340f0
2004-08-17 13:16:48 +00:00
sbraccia d1511995ac Removed a strange initialization (ekin_conv_thr = -1.0d0) that was causing a warning.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1090 c92efa57-630b-4861-b058-cf58834340f0
2004-07-22 07:37:15 +00:00
sbraccia 7c7c95035e Removed input variable VEC_scheme (no longer used).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1089 c92efa57-630b-4861-b058-cf58834340f0
2004-07-21 08:02:46 +00:00
cavazzon e163a007ef - further merging of low level subroutine between FPMD and CP
( cell_move in Module/cell_base.f90 )
- More input parameters check in Module/read_namelists
- For CP, restart file is saved in working directory like in FPMD
  and not in output_dir where MD data are saved, this is because
  usually one keep MD trajectories in home dir.
- added pseudopotential for wannier dynamics example
- added Wannier postprocessing (from Manu Sharma )
- fixed a small bug for FPMD and 'diis' electron dynamics


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1083 c92efa57-630b-4861-b058-cf58834340f0
2004-07-19 17:19:16 +00:00
cavazzon 45f757ca52 - New kind of calculation cp-wf added
- varius fix for CP with wannier functions,
  now I'm able to run Sharma examples,
  but the code is still not fully tested
- fix in readpp for pseudo different from UPF


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1050 c92efa57-630b-4861-b058-cf58834340f0
2004-07-07 15:23:47 +00:00
sbraccia e66dbb9524 Cleanup: removed unused variables.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1040 c92efa57-630b-4861-b058-cf58834340f0
2004-07-05 06:50:22 +00:00
deinzer b36b5527d0 Cleanup: 'dispersion' removed from PW, is now entirely in PH
module disp moved from pwcom to phcom
         variable nqx changed to nqmax


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1032 c92efa57-630b-4861-b058-cf58834340f0
2004-06-30 17:56:05 +00:00
cavazzon 8bc397b888 added new input variables for string dynamics in CP code,
as implemented by Yosuke Kanai


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1021 c92efa57-630b-4861-b058-cf58834340f0
2004-06-28 17:42:18 +00:00
sbraccia f9ac58b70f diis_module.f90 recoded.
The following variant of the DIIS Residual Minimization Method, based
on three steps, has been implemented :
1) At the first "scf" step of the first "ionic" step, the diagonalization
   starts with an initialization procedure. Two (or more) sweeps on all
   the bands are performed. A sweep consists in two (or more if required)
   unconstrained trial steps (steepest descent steps) followed by a
   subspace rotation. If convergence is not achieved in this phase a
   final trial step is done.
   In all the other cases the initialization procedure consists in a
   subspace rotation followed by a trial step.
2) Diagonalization based on the DIIS algorithm is performed on the lowest
   ( nbnd - 2 ) bands. Orthogonalization of the eigenvectors is done at
   each step. The possibility of orthogonalizing a given band only to
   those inside an energy window is also implemented.
3) The topmost two bands are converged using a standard
   conjugate-gradient procedure. This ensures that eventual holes
   left by the DIIS algorithm can be identified and filled.
   If two holes have been found this procedure is repeated on the
   topmost two bands (previously optimized with the DIIS algorithm).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1014 c92efa57-630b-4861-b058-cf58834340f0
2004-06-26 16:48:36 +00:00
deinzer 595bda9fe8 First step to calculate all dyn. matrices needed for the entire dispersion
in one step with pw.
A new calculation is possible called 'dispersion'
in the phonon card new input parameters are:
nq1, nq2, nq3 : number of q points in the direction
tr2_ph : threshold for the phonon calculation (see also INPUT_PH)
Therefore tr2_ph has been moved from phcom.f90 to Module disp in pwcom.f90
UP TO NOW ONLY THE Q POINTS FOR THE DYN. MATRICES ARE CALCULATED AND PRINTED.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@944 c92efa57-630b-4861-b058-cf58834340f0
2004-06-08 16:20:41 +00:00
giannozz 4a5732790a Part of the variables for ultrasoft pseudopotentials have been moved to a
new module uspp_param, shared between PW and CP (in file Modules/uspp.f90)
The flag newpseudo is no longer used to decide whether states with oc=0 are
bound or not: for those states, and only for the old RRKJ format, oc is set
to a negative value, and this signals that they are not bound. Not elegant
but simpler than it used to be. The converter to UPF format did not include
those states anyway. Beware unexpected side effects!


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@914 c92efa57-630b-4861-b058-cf58834340f0
2004-05-26 11:04:07 +00:00
deinzer f1874de924 Changes in pw to calculate the Raman tensor via the 2n+1 theorem.
A new calculation called 'raman' is now available.
For each k point additional points at k+b will be generated and a nscf
calculation will be performed.
The b vectors are small vectors either in cartesian coordinates or along the
direction along to the nearest neighbours.
A new input card named raman is introduced.
New variables:
b_length:  the length of the b vectors
lcart:     if .true. cartesian direction (default)
           if .false. in direction to the nearest neighbours


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@911 c92efa57-630b-4861-b058-cf58834340f0
2004-05-25 14:22:43 +00:00
dalcorso 9fcf9c7a69 startingwfc should be atomic in a nscf calculation.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@858 c92efa57-630b-4861-b058-cf58834340f0
2004-05-06 12:42:45 +00:00
dalcorso 11c8bd5947 Missing changes added.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@849 c92efa57-630b-4861-b058-cf58834340f0
2004-05-03 14:23:10 +00:00
sbraccia e4c70c0af2 NEB: 1) a backup copy of the restart file is written at each iteration on the scratch
directory.
     2) velocities can be reset (reset_vel keyword) when restarting from file.
Cleanup of bfgs stuff.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@847 c92efa57-630b-4861-b058-cf58834340f0
2004-05-03 08:48:48 +00:00
dalcorso 40bbe919a3 Reading of a spin-orbit (UPF?) pseudopotential written by the atomic code.
Added the variable lspinorb in input.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@841 c92efa57-630b-4861-b058-cf58834340f0
2004-04-30 13:16:03 +00:00
sbraccia fbfa8e8d2e Setting startingwfc="file" in the case of nscf calculations was a bad idea.
I apologize.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@840 c92efa57-630b-4861-b058-cf58834340f0
2004-04-30 12:40:51 +00:00
sbraccia 18d09b6ead Again on the default value of starting***: in the case of a non scf calculation
they are both set to "file".
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@838 c92efa57-630b-4861-b058-cf58834340f0
2004-04-30 07:05:31 +00:00
cavazzon 8f259a07ce - Changes in FPMD required by SIC implementation
- simplified ionic positions management in FPMD ( many staff moved to
  Modules/ions_base.f90
- sort_gvec.f90 ( a part of ggen common to FPMD and CP )


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@794 c92efa57-630b-4861-b058-cf58834340f0
2004-04-13 22:30:02 +00:00
cavazzon cb4704bfda - missing use of iverbosity
- xlf complains for expession like: if ( logical_val == .false. )


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@766 c92efa57-630b-4861-b058-cf58834340f0
2004-04-03 14:42:28 +00:00
degironc 3deee25b0d 2 Apr 2004 A new (experimental) feature is added to LDA+U method.
The +U part of the functional can be built using
              for the projection on localized orbitals some simple
              Wannier functions generated by the post-processing
              code poormanwannier.f90 (pmw.x) from the LDA band
              structure. (SdG)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@764 c92efa57-630b-4861-b058-cf58834340f0
2004-04-02 16:05:17 +00:00
sbraccia 27985f2974 Default value for the neb-time-step (ds) updated.
Crrected csme other small errors in the INPUT_PW file.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@763 c92efa57-630b-4861-b058-cf58834340f0
2004-04-02 15:53:16 +00:00
cavazzon a3e02b9d06 Self interaction correction (SIC)
tentatively added to FPMD,
work still in progress


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@758 c92efa57-630b-4861-b058-cf58834340f0
2004-04-01 16:30:59 +00:00
sbraccia 2a99b6fdac 1) An experimental parallelization of NEB images has been implemented.
This required a deep modification of the parallelism in PWscf:
there are two new communicators (intra_image_comm and inter_image_comm) and the
existing "pool" communicators (intra_pool_comm and inter_pool_comm) are now vectors
of length given by the number of parallel images. #ifdef __PARA is no longer
needed because all "parallel" variables are always initialized for a serial run
and all parallel routines are, in the case of a serial run, dummy routines.
The wrappers to MPI routines used only by PWscf are in the PW/para.f90 file.
The others (mp_***) are in the Modules/mp.f90. All explicit referencies to mpif.h
should be replaced by an "USE parallel_include" (in a serial run parallel_include
is simply a dummy module).

2) The extrapolation of both potential and wavefunctions has been rewritten in
order to be smarter than before: on the basis of the required extrapolation
order, on the basis of the history and on the basis of which files are really
present on the disk, the algorithm chooses the extrapolation order.
All the algorithms in which ions are moved can use the extrapolation.

These are both unstable features: I need the help of everybody to test them.

C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@742 c92efa57-630b-4861-b058-cf58834340f0
2004-03-24 09:36:50 +00:00
sbraccia f94c73e766 Fixed a couple of bugs in the way default values were set (bugs inserted by me in a previous fix).
The same bug is present in the 2.0.1 version and in the patch-2-0p2.
This should be the ultimate fix for defaults-related problems.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@741 c92efa57-630b-4861-b058-cf58834340f0
2004-03-20 15:43:47 +00:00
sbraccia c9c711e147 Fixed a problem with startingpot default value in the case of nscf and phonon calculations.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@716 c92efa57-630b-4861-b058-cf58834340f0
2004-03-12 17:45:30 +00:00
sbraccia c609bca56b Fixed a bug spotted by Konstantin Kudin:
when a calculation was restarted wfc were always read by file
(no matter whether the startingwfc keyword was set or not).
The same was true for the potential.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@714 c92efa57-630b-4861-b058-cf58834340f0
2004-03-12 10:51:49 +00:00
degironc 34c7972a6d documentation about default value for etot_conv_thr and forc_conv_thr
was wrong in INPUT_PW.
more (100) energy-volume points allowed in ev.f


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@691 c92efa57-630b-4861-b058-cf58834340f0
2004-03-03 11:31:08 +00:00
cavazzon 2b9008ea8a - More merging between CP and FPMD
- some common NEB modules moved to Modules directory
  others NEB modules will be moved soon


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@687 c92efa57-630b-4861-b058-cf58834340f0
2004-02-29 23:30:07 +00:00
sbraccia 0224c2a9ad wfc-extrapolation extended to all "relax" algorithms.
Molecular Dynamics based algorithm partially rewritten:
both standard and damped MD are performed with the velocity Verlet
scheme (with or without constrains).
Renata's subroutines are used only in the framework of variable
cell.
constrain.f90 file is no longer needed: cnstrains are set in the
input file (see CONSTRAINTS CARD) with the same input format used
in FPMD. An arbitrary number of constrains can be set.
In the case of constrained relaxation the damped MD
algorithm is used instead of BFGS.
When restart_mode = "from_scratch" many reastr files are removed
from the scratch directory.
Several other modifications here and there. (C.S.)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@675 c92efa57-630b-4861-b058-cf58834340f0
2004-02-26 11:50:36 +00:00
cavazzon 1e09b84177 some more checks when allocating large arrays,
to know why and where the program stops
when there is no more memory


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@599 c92efa57-630b-4861-b058-cf58834340f0
2004-02-15 10:15:06 +00:00
degironc ce9d9804c9 14 feb 2004 LDA+U: variable starting_ns_eigenvalue has been added in
order to allow to specify how to fill starting ns occupation
             matrices. Useful when the default choice take the wrong
             (or not desired) path.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@598 c92efa57-630b-4861-b058-cf58834340f0
2004-02-14 08:39:34 +00:00
giannozz 0b1a5c9fd8 Extensive module cleanup: DP moved from wrong place (parameters) to the
correct place (kinds); module "varie" replaced by "control_flags" (not
yet in pwcom, though) - many many files changed.
64-bit cpus (Opteron, maybe Itanium) should now work if __LINUX64 is defined


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@513 c92efa57-630b-4861-b058-cf58834340f0
2004-01-23 15:08:03 +00:00
sbraccia b59ad69456 Again some problems with ethr: the diagonalization threshold can now be read by the input file (diago_thr_init).
This value of ethr is overwritten (with a warning message) in the case of a phonon calculation (lphonon flag added). If diago_thr_init is not specified in the input file it is automatically set in setup.f90 (for example in the case of a nscf calculation ethr = tr2 / nelec).
I hope this policy is appropriate for all kind of calculations.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@511 c92efa57-630b-4861-b058-cf58834340f0
2004-01-23 09:50:00 +00:00
cavazzon df489b96bf NEB dynamics added to the FPMD code
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@480 c92efa57-630b-4861-b058-cf58834340f0
2004-01-13 09:49:29 +00:00
giannozz 5a8c4a05dc Tabs removed (again)
NEB/ removed from makedeps.sh
plotrho: added possibility to have contour lines of various type
A few undefined variables defined (again)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@465 c92efa57-630b-4861-b058-cf58834340f0
2004-01-05 18:11:01 +00:00
giannozz fd6348978e spin-polarized calculations: at least one value for
starting_magnetization must be explicitly set in input
(fixed previously introduced bug).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@438 c92efa57-630b-4861-b058-cf58834340f0
2003-12-02 14:28:22 +00:00
giannozz 37d70e62b2 Fixed bug if Gamma+doublegrid
Misc cleanup (tabulators), doc. update


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@425 c92efa57-630b-4861-b058-cf58834340f0
2003-11-21 15:20:29 +00:00
sbraccia 4de0beae5b Added support for neb code. C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@400 c92efa57-630b-4861-b058-cf58834340f0
2003-11-17 11:52:06 +00:00
moscac 59cf4dd721 non collinear variables put into Modules
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@360 c92efa57-630b-4861-b058-cf58834340f0
2003-10-30 13:58:42 +00:00
fabris afa4cbf4ac *** empty log message ***
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@298 c92efa57-630b-4861-b058-cf58834340f0
2003-09-02 12:44:56 +00:00
cavazzon 0afcf95c6f io_base logic simplified even more,
variable wf_collect added to the control namelist.
This logical variable will be used in pw to
collect wave funcions at the end of a parallel run.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@295 c92efa57-630b-4861-b058-cf58834340f0
2003-09-02 09:16:09 +00:00
cavazzon a042e7a1f5 - io_base logic simplified
- substitution of USE ... with USE ... ONLY ...
- directories and filenames moved to io_files,
  common to all codes
- clean up in control_flags


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@290 c92efa57-630b-4861-b058-cf58834340f0
2003-08-24 22:25:53 +00:00
giannozz 7c657dc0ff punch_band.f90 works in parallel. Misc cleanup. "aceived" => "achieved"
nelec, nelup, neldw may be real (PW only: CP, FPMD to be verified)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@284 c92efa57-630b-4861-b058-cf58834340f0
2003-08-20 16:16:26 +00:00
cavazzon da47185a66 All namelists and cards moved to Modules/input_parameters.f90 .
From now on, all new input variables should be added
  to this module, and then copied to the code internal
  variables in the input.f90 subroutine
The namelists and cards parsers are in :
  Modules/read_namelists.f90 and Modules/read_cards.f90

files input_parameters.f90 read_namelists.f90 read_cards.f90
are shared by all codes, while each code has its own version
of input.f90 ( used to copy input values into internals variables ).

EXAMPLE:
 suppose you need to add a new input variable called "pippo"
 to the namelist control, then:

1) add pippo to the input_parameters.f90 file containing the
   namelist control

   INTEGER :: pippo = 0
   NAMELIST / control / ....., pippo

   remember: always set an initialization value!

2) add pippo to the control_default subroutine
   ( cantained in module  read_namelists.f90 )

   subroutine control_default( prog )
     ...
     IF( prog == 'PW' ) pippo = 10
     ...
   end subroutine

   this routine set the default value for pippo,
   that could vary with the code

3) add pippo to the control_bcast subroutine
   ( cantained in module  read_namelists.f90 )

   subroutine control_bcast( )
     ...
     call mp_bcast( pippo )
     ...
   end subroutine


4) add pippo to the control_checkin subroutine
   ( cantained in module  read_namelists.f90 )

   subroutine control_checking( prog )
     ...
     IF( pippo < 0 ) &
       CALL error(' control_checkin ',' variable pippo less than 0 ', 1 )
     ...
   end subroutine

5) Copy the value of pippo in the code internal variables
   ( file input.f90 )

   subroutine iosys()
     use input_parameters, only: ...., pippo
     use pwcom, only: ....., myvar
     ...
     call read_namelists( 'PW' )
     ...
     myvar =  pippo
     ...
   end subroutine


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@282 c92efa57-630b-4861-b058-cf58834340f0
2003-07-31 13:24:20 +00:00
cavazzon 21473c7a29 FPMD:
PRIVATE keyword added to all FPMD source files,
variables that have to be known outside the module
are explicitly declared as PUBLIC
CPV:
now CP uses the same input parser as FPMD


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@267 c92efa57-630b-4861-b058-cf58834340f0
2003-07-21 15:59:32 +00:00
cavazzon 6ca8b2ce58 more merging, "only" keyword added to many "use"
io_base: strings with the name of the data sections added to the
restart file, this will allow R/W of data sections in any order


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@257 c92efa57-630b-4861-b058-cf58834340f0
2003-07-06 21:47:17 +00:00