quantum-espresso/Doc/ChangeLog.pw

1734 lines
83 KiB
Plaintext

See file ChangeLog.old for changes after aug. 2004
28 Jul 2004 Workaround for a bug of the PGI compiler (5.1-5) (C.S.)
27 Jul 2004 PP/projwfc.f90: on input, degauss1, ngauss1 => degauss, ngauss
Documentation for atomic code updated (PG)
Various minor format changes in output (GB)
23 Jul 2004 Fixed a small bug in the way preprocessor flags were used
(CS). Workaround for a strange bug in spin-orbit case
with norm-conserving PP in PWNC/newd.f90 (AdC).
22 Jul 2004 Two bugs fixed. Now PWCOND is working as before.
Bugs introduced when 0:ndm => ndmx (23 Apr)
and to correct another problem (31 May). (ADC)
NEB examples updated. Strange initialization fixed (CS)
21 Jul 2004 Removed input variable VEC_scheme (no longer used).
INPUT_PW updated (CS). some examples regenerated (GB).
20 Jul 2004 Fixed some bugs in NEB. Added a new field in the neb restart file.
To use old restart files the following gawk-script can be used:
BEGIN{ level = 0 }
{
if ( $1 == "Image:" ) {
print ;
if ( $2 > level ) {
level = $2 ;
getline ;
printf "%2s, F \n", $1 ;
}
}
else { print }
}
C.S.
16 Jul 2004 Fixed a bug (spotted by Guido) in the diagonalization with
occupation-dependent thresholds:
now occupations are also computed at the end of the the wfcs
initialization so that wg is always initialized. (CS)
15 Jul 2004 Several minor bugs fixed in the lbfgs algorithm. Added an,
hopefully safe, interpolation for the "step accepted" case
of the standard bfgs which can give some speedup in the
minimization (it can be disabled commenting a line inside
the file). (CS)
14 Jul 2004 added (partial) support for Cray X1 (contributed by Roberto
Ansaloni). Small changes in phonon output and in the scripts
processing it. [Gerardo]
9 Jul 2004 make_pointlists was not working with very strange atomic
positions. Small changes in get_locals and report_mag (AdC)
2 Jul 2004 Misc. cleanup; a few redundant routines moved to flib;
added example for phonon DOS; version number increased (PG)
1 Jul 2004 Added the possibility to make a spin-orbit calculation with
zero magnetization. (Still to be cleaned) (ADC)
Removed the routine to calculate k - -k needed just in
this case. (ADC)
30 Jun 2004 Calculation of DOS and of Projected DOS have the same kind
of input and yield comparable results, at least with gaussian
broadening (PDOS with tetrahedra still not implemented)
Beware changes in input and possible problems. (PG)
Cleanup: 'dispersion' removed from PW, is now entirely in PH
module disp moved from pwcom to phcom
variable nqx changed to nqmax (Gernot)
28 Jun 2004 Calculation of the dynamical matrices for the dispersion
is now within ph.x possible.
New input variables:
lnscf: if .true. the nscf and phonon run are done in one
single run
ldisp: if .true. calculation of dyn. matrices for dispersion
nq1, nq2, nq3: q-point mesh. (GD)
28 Jun 2004 Bug fix: spin orbit + US-PP were not working in low symmetry
cases. (ADC)
Added a routine to calculate k and -k in the spin-orbit case,
because they are no more equivalent. (ADC)
26 Jun 2004 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). (CS)
25 Jun 2004 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
(CS)
Many small changes to fix compilation on T3E (PG)
24 Jun 2004 Calculation of Makov-Payne correction added to chdens
(contributed by Giovanni Cantele) (PG)
22 Jun 2004 Cleanup and some minor modification of the output format in
molecular dynamics runs. (CS)
No need to have a spin index in dvan (PG)
21 Jun 2004 Added support for Opteron (contributed by Davide Ceresoli) [GB]
First clean-up of parallelism. Fixed a bug in the way temporary
files were labelled when nproc > 10 and npool > 1 (CS).
More T3E glitches: getarg must be preprocessed
|| instead of | in clib/cp.h (PG)
17 Jun 2004 Direct references to mpif.h replaced (in fft_base.f90 and
ptoolkit.f90) by USE parallel_include.
Small change in the output: also the forces on fixed atoms are
printed (previously they were set to zero before the print-out).
(CS)
16 Jun 2004 stm image should work also for magnetic systems (SdG)
16 Jun 2004 NLCC for Fritz-Haber to UPF format converter (thanks to
from Frederic Bouyer and Katalin Gaal-Nagy)
Some calls to blas routines were incorrect for T3E (PG)
16 Jun 2004 Fixed a bug (highlighted by Tone) in the way the path-length
was computed. (CS)
15 Jun 2004 Example22 added. It makes a calculation of fcc-Pt including
spin-orbit effects (ADC).
14 Jun 2004 io_base : added read and write of jchi and jjj (ADC)
PP : added the possibility to plot the magnetization in the
noncolinear case (ADC)
PWNC : clean up. openfil, restart, punch, read_conf_from_file,
write_conf_to_file, restart_in_electrons, merged
with those in PW. (ADC)
io_base : noncolin, lspinorb saved in restart file.(ADC)
cpmd2upf wrote an incorrect DFT if converting BLYP PPs. (PG)
13 Jun 2004 Some changes to newd.f90 (PG)
12 Jun 2004 Modules becmod, rbecmod (one variable each) merged into
a single module (with two variables...)
More USPP merge (PG)
11 Jun 2004 Cleanup of the molecular dynamics routines. Some debug messages
removed. Some duplicated variables (fixatom and if_pos) removed
from pwcom (already present in ions_base). A logical variable
lfixatom added in control_flags.
The output of a molecular dynamics run has been slightlychanged
to be (hopefully) clearer.
Fixed a couple of ambiguities:
flib/rranf.f90: variable irand was not initialized.
PW/v_of_rho.f90: at line 146 the following call has been changed
CALL xc( arhox, ex, ec, vx, vc ) =>
CALL xc( arhox, ex, ec, vx(1), vc(1) )
(CS)
10 Jun 2004 pw_examples, cp_examples => examples (Gerardo)
Several small bugs in restart, found by AdC and David
Prendergast (PG)
Fixes for cry-t3e compilation. Fix for Gamma compilation (PG)
8 Jun 2004 More uspp variables rearrangement:
qq_spinorb moved into Modules/uspp.f90 as qq_so
dvan => dvan + dvan_so (for spin-orbit only)
PW/clean_pw.f90 replaces PWNC/clean_pw.f90 (PG)
8 Jun 2004 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)
UP TO NOW ONLY THE Q POINTS FOR THE DYN. MATRICES ARE
CALCULATED AND PRINTED. (Gernot)
7 Jun 2004 Some bugs fixed in NEB:
1) Modules/neb_base.f90: the neb error is computed as done in
structural optimizations (convergence when the largest
component of the force vector is less than a threshold).
The rescaling of the elstic constants has been modified so
that they can not be smaller than a minimum value
(set to 0.05).
2) PW/compute_scf.f90: a bug in the way startingpot and
startingwfc were used inside neb has been fixed (now scf
should be faster).
3) PW/pwscf.f90: cleanup of module-dependencies.
4) pwdocs/INPUT_PW: documentation updated (a detailed
explanation of how to specify initial configurations has been
added).
5) PW/neb_routines.f90: file no longer needed
(CS)
2 Jun 2004 More USPP-related variable rearrangement (PG)
Quantities of a LDA+U calculation are again written on file
".save", similarly to what was previously done by the "saveall"
routine but according to the new format. Two subroutines have
been added to "io_base" (write_restart_ldaU, read_restart_ldaU)
which are called by "restart". (SF)
31 May 2004 PWCOND: Bug fix, now should work also for nrx1 or nrx3
different from nr1 or nr3 (contributed by A. Smogunov)
PH: cleanup of cgsolve_all in order to reduce memory use,
zstar, epsilon and dynamical matrices written with
8 digits only (it should not make any significant difference
and it should be easier to spot differences in dynmat files
if 0.123456789E-10 is treated as zero)
Symmetrization is applied already to drho (not anymore
to dvscf) (SdG)
PWNC cleanup (AdC)
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) (PG)
28 May 2004 NEB: added the possibility of specifying one or several
intermediate images in the input file (see INPUT_PW).
Back-compatible with the old input files. (CS)
27 May 2004 Raman calculation with 2n+1 theorem added (Gernot)
Small changes in noncolinear symmetrization (AMC)
Added support for "ph.x -in input" [Gerardo]
26 May 2004 Part of the variables for ultrasoft pseudopotentials
have been moved into 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! (PG)
25 May 2004 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
24 May 2004 density/potential mixing procedure in presence of an electric
field has been changed.
- Density mixing is now available.
- Explicit mixing of the dipole moment in potential mixing has
been removed (in my opinion it was spurious).
If anybody experiences bad convergence with the present scheme
please let me know. (SdG)
21 May 2004 Merged noncolinear and colinear symmetries (routines
sgama, irrek). Variable degspin removed, constant
degspin=2 left. Please check for unintended effects!
21 May 2004 A new check has been added in move_ions in the case of
BFGS+LSDA: if when the convergence is achieved the absolute
magnetization (computed in electrons and now saved in the module
lsda_mod) is less than 1.D-8 a new scf cycle is performed
starting from atomic potential and wcfs and the BFGS convergence
is checked again.
Removed some unused variables from pwscf.
Again a couple of errors highlighted by Tone in the format of the
NEB restart file (file prefix.neb) at lines 369 and 377.
(CS)
20 May 2004 Fixed an error highlighted by Tone in the format of the NEB
restart file (file prefix.neb): ELSATIC vs ELASTIC (CS)
19 May 2004 Functions "capital" and "matches" taken out of module
"parser" and added to flib; duplicated routines removed.
Manual update (PG)
18 May 2004 Set value of gamma_only=lgamma after read_restart_header
in restart.f90 (SdG)
Removed obsoleted compiler flag -DHAS_ZHEGVX (GB)
17 May 2004 Several minor bugs in the NEB machinery (mainly related to the
restart procedure) have been fixed: this required a partial
reorganization of the restart-file (prefix.neb) that is no longer
compatible with the previous one. Now the restart mechanism is
much more robust.
In coset.f90 division by zero without any check: added
an error message.
Cleanup of openfil.f90 routine.
In read_cards.f90 module kinds was USEd two times.
(CS)
14 May 2004 Fixed a couple of bugs in error.f90 and move_ions.f90 (CS).
Updated functionals and installation mechanisms,
ready for addition of atomic code. Doc update (PG)
13 May 2004 keyword "revPBE" recognized by which_dft
Beware: potential for trouble with PBE and the like...
More noncolinear merge (PG)
13 May 2004 Some cleanup in the NEB machinery (CS).
Fixed a serious bug in the mixing of spin polarized systems
with the local-TF screening (SdG, CS).
12 May 2004 pw2casino: incorrect calculation of eloc (G=0 term missing)
(found by Dario Alfe')
11 May 2004 becp = <beta|psi> allocated only when needed (except in
phonon where it is still allocated at the beginning)
11 May 2004 Yet another version of the DIIS algorithm (replacing the
previous one). This version is slower (but not dramatically)
than davidson for small systems, faster for large systems
(the cross-over is around 300 bands), but there is space
for further improvements. A gamma-point version is also
implemented (previously missing). An "holes-sniffer" is
implemented to prevent holes in the eigenvalues spectrum. (C.S.)
10 May 2004 Added a cut-off: -1.0 + 1.D-6 < zeta < 1.0 - 1.D-6 to prevent
the divergences of the correlation part of the PBE potential.
(C.S.)
10 May 2004 Fixed some bugs in the cg and diis routines of the
noncollinear code. Now these routines work also with
NC-PPs. (ADC)
09 May 2004 Cleanup of duplicated or unimplemented routines in PWNC/ (PG)
08 May 2004 Cleanup: pwcom no longer used in PP/,
qgm is now a local variable as it should be (PG)
07 May 2004 New punch routine. If the wf_collect flag is true, it collects
all wavefunctions in a single file. (PC)
Fixed a in local-TF screening (division by zero) that
was present since version 1.2.0 (CS)
06 May 2004 Fixed several bugs in the part that supports spin-orbit,
and a bug in the symmetrization of the magnetization in
the parallel case. (ADC)
Support for g95 added (GB)
04 May 2004 Bug in cpmd2upf.f90 fixed (thanks to Dariusz Chrobak)
03 May 2004 Added support for spin-orbit pseudo-potentials.
Support for both NC and US PP.
(Still experimental) (ADC)
NEB: cleanup of bfgs stuff
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. (C.S.)
30 Apr 2004 Started the work to provide support for pseudopotentials with
spin-orbit. Now PW can read a spin-orbit pseudopotential,
but not use it (ADC)
DIRECT_IO_FACTOR for intel compiler reverted to 8,
compiler option used instead.
Lowdin charges are printed for each spin component (PG)
28 Apr 2004 Pseudopotential cleanup and merge:
module "atom" (common with CP) moved to Modules/
index nhtom (m) replaced by nhtolm (combined lm index)
(as in CP) (PG)
27 Apr 2004 More pseudopotential cleanup (PG)
Fixed some bugs in the NEB machinery. In particular the error
was not properly computed and overestimated the real error.
Some improvements in output format of a NEB calculation (C.S.)
26 Apr 2004 The correct value of DIRECT_IO_FACTOR for intel compiler
version 8 is 2, not 8: wavefunction files were 4 times
larger than needed! (CC)
25 Apr 2004 pseudopotential cleanup: vnl => vloc_at (PG)
23 Apr 2004 ndm, mmaxx => ndmx ; 0:ndm => ndmx (no longer needed) (PG)
22 Apr 2004 funct.f90 and which_dft moved to Modules/functionals.f90 (PG)
21 Apr 2004 cleanup: zv moved to module "basis", documentation updated (PG)
20 Apr 2004 dylmr2.f90 moved to flib/ (PG)
19 Apr 2004 Bug fix: non-collinear code was not working with insulators
and nbnd > nelec/2 (AdC)
15 Apr 2004 Fixed multiple writes to file in parallel execution
when calculating electron-phonon coefficients (thanks
to Xianghju) (PG)
14 Apr 2004 Fixed a couple of bugs in the lbfgs algorithm. (CS)
On parallel LINUX machines the error message is written opening
unit "0" on /dev/stderr (as is automatically done on AIX). (CS)
The exit_file is no longer a parameter (set in io_files.f90 to
"EXIT"), but an internal variable set in input.f90 to
"prefix.EXIT". This is necessary to allow the user to stop
the "correct" job when several jobs are running on the same
working directory. (CS)
read_recon subroutine moved inside paw module for future use
in nmr calculation (MP)
13 Apr 2004 First steps in USPP harmonization: nqfm => nqfx, some
us variables and aainit moved to Modules/uspp.f90 (new)
invmat moved to flib/ and merged with invmat3 of CP/FPMD,
rndm and ylmr2 moved to flib/ in rranf.f90
7 Apr 2004 relativistic exchange introduced in case of pseudo generated
with relativistic exchange
Added support for HP workstation with Itanium CPU
3 Apr 2004 Cleanup: integer conversion to real performed with "dble"
everywhere, minor things here and there
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)
2 Apr 2004 Cleanup: dsum deleted (PG)
Default value for the neb-time-step (ds) updated.
Corrected some other small errors in the INPUT_PW file (CS)
2 Apr 2004 References to brilz replaced everywhere by cell_base (CS)
Again an improvement of the optimization procedure in neb
calculations: the new version of quick-min estimates the
optimal time step on the basis of the approximate force
constant along the displacement vector (this is only done
after some optimization steps).
In all test cases the algorithm is at least two times faster.
Nevertheless the algorithm is not yet optimal (CS)
Cleanup: all references to varie replaced by references to
control_flags (also when varie is indirectly called by pwcom).
Fake module varie has been removed from pwcom (CS).
1 Apr 2004 Incorrect preconditioning in LBFGS (CS)
31 Mar 2004 Compilation problems with __NEW_PUNCH fixed
Fixed a bug in neb when lda_plus_u is true (CS)
29 Mar 2004 Various cleanup: error, date_and_tim, clib, harmonization
with CP and FPMD. Now in case of severe error, errore writes
its message also to the file 'CRASH' that is closed before
aborting, this to avoid information loss in those systems
that do not flush open streams, when the code is stopped
through a call to MPI_ABORT (CC)
General cleanup: NEB
1) units for activation energy and errors are printed
in the output file
2) elastic constants are automatically rescaled so that
"spring" forces have the same magnitude as "external-potential"
forces: this permits a larger time step in NEB optimization
(the default will be changed later)
3) fixed a bug in the way istep and istep_neb were set
(CS)
General cleanup: parser
1) the subroutine delete_if_present has a logical optional
input argument to require a warning message when a file
is removed
2) check_stop: the function check_stop_now has an optional
input argument to assign an output unit different from stdout
(CS)
24 Mar 2004 Implemented experimental parallelization of NEB images.
This required deep modifications of the parallelism in PWscf.
- There are two new communicators: intra_image_comm and
inter_image_comm.
- #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 file
PW/para.f90.
- The others (mp_***) are in the Modules/mp.f90.
- All explicit referencies to mpif.h should be replaced by a
"USE parallel_include" (in a serial run parallel_include
is simply a dummy module).
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 algorithms in which ions are moved can use the extrapolation.
Both features are unstable: I need the help of everybody in
order to test them. (C.S.)
24 Mar 2004 Crashes in raman and planar average calculation fixed
19 Mar 2004 Yet another bug in phonon + k-points parallelization
in routine phq_readin (found by Nicolas Mounet)
17 Mar 2004 Obsolete parallelization routines removed (CS)
Missing routines added to local lapack copy (MP)
16 Mar 2004 All references to mpif.h and to subroutine check.f90
removed by the PWscf and related codes (CS)
15 Mar 2004 Makefile cleanup. In upftools executable are *.x (PG)
Problems in parallel version of PWNC and PWCOND fixed,
other refernces to mpif.h removed. (CS)
wfcs extrapolation extended to NEB. (CS)
In rdiaghg and cdiaghg #ifdef HAS_ZHEGVX removed (that
routine is present in all lapack distributions).
15 mar 2004 Two instances of the same variable in efg.f90 (AT)
Cleanup, doc, workaround for yet another ifc8 bug (PG)
Almost all neb routines moved to Modules (CC)
New module check_stop used by all codes
to check for exit conditions ( maximum time
or EXIT file ) (CC)
General cleanup of parallelization routines:
they have all been moved in the para.f90 file,
all includes of mpif.h replaced by USE include_parallel.
(C.S.)
12 mar 2004 more postprocessing is working at Gamma point (AT, PG)
Several compilation and Makefile glitches (PG)
Manual updated (PG)
Options startingwfc and startingpot are no longer ignored
in a restart calculation (found by K.Kudin) (CS)
09 mar 2004 ewald_dipole did not reduce g-tensor
check efg in parallel (minor changes)
call to poolbcast() should include a test to npool /=1 (MP)
08 mar 2004 Calls to broadcast() and poolbcast() replaced everywhere by
calls to mp_bcast(*,MPI_COMM_POOL) and mp_bcast(*,MPI_COMM_ROW)
respectively. Files PW/broadcast.f90 PW/poolbcast.f90 removed (CS)
08 mar 2004 cleaning and documentation of paw related routines (MP)
08 mar 2004 neb basic routines moved to Modules, to be shared among codes
basic cell and ionic variables moved from pwcom to
cell_base and ions_base .
cell_base modules and ions_base modules should be initialized
through the use of cell_base_init and ions_base_init, this
after having read the namelists and the cards .
IN THE FUTURE NONE OF THE VARIABLES IN THE BASIC MODULES SHOULD
BE SET IN THE MAIN CODES, BUT THROUGH A CALL TO SOME INIT
FUNCTIONS CONTAINED IN THE BASIC MODULE ITSELF.
THE IDEA IS THAT THE BASIC VARIABLES SHOULD BE USED AS
READ-ONLY. UNFORTUNATELY IN F90 THERE IS NO POSSIBILITY
TO SET A READ ONLY ATTRIBUTE. (CC)
07 mar 2004 Cleanup in PH/ and D3/, setv removed (PG)
Calls to broadcast replaced by calls to mp_bcast everywhere.
All kinds of ionic dynamics are done by a single cpu
(see move_ions.f90). After the ions are moved the new positions
(and other information) are broadcast to all other cpus. C.S.
04 mar 2004 Excessive check in PP/punch_plot.f90 if gamma_only
(Antonio Tilocca)
01 mar 2004 calculation of NMR parameter Cq and eta in efg
some output formatting (MP)
27 feb 2004 Fixed a serious bug in the path interpolator
(spotted by Nicola Bonini) C.S.
More cleanup in examples (GB)
26 feb 2004 Porting to SGI Altix by Martin Hilgeman, SGI
(see cpdocs/ChangeLog for detailed log)
26 feb 2004 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 restart files are removed
from the scratch directory.
Several other modifications here and there. (C.S.)
26 feb 2004 Remove use of setv in symz (MP)
Several minor errors in the manual (PC)
25 feb 2004 PWgui documentation updated (Tone)
Serious bug in phonon + pools (again) fixed:
double call to init_pool in PH/phq_readin.f90
(spotted by Gernot)
Useless clib/c_getenv.c removed (PG)
Minor updates to examples (CS, AdC)
Added --disable-parallel and --disable-shared flags
to "configure" (GB)
Electric field gradient calculation with PAW reconstruction
(MP)
-------------------------------------------------------------------
Date: 24 Feb 2004 Version: pw-2-0
-------------------------------------------------------------------
19 feb 2004 more fixes to pw2casino (MP), examples and doc (PG)
18 feb 2004 more installation fixes (GB) and doc updates (PG)
Fixed another bug in the path interpolator script (CS)
GUI added to the repository - see the GUI/README file (Tone)
Berry-Phase calculation in parallel fixed for npool = 1,
program stops if npool /= 1 (PG)
pw2casino works in parallel if npool=1 (MP)
17 feb 2004 check_constrain weirdness fixed - maybe
Misc documentation updates (PG)
F77 syntax for dist.f (GR)
16 feb 2004 Various updates to documentation (Tone, GB)
and to installation (GB)
Fixed a bug in the path interpolator script (CS)
Use only potential mixing with dipolar field (AdC)
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 takes the wrong
(or not desired) path. (SdG)
As gamma_only is not working yet with LDA+U in forces and
stress a call to errore is added to prevent mis-use (SdG).
13 feb 2004 Noncolinear example updated (AMC)
README.configure added (PG)
Installation instructions rewritten (GB)
Updated XCRYSDEN utilities in pwtools/ (Tone)
12 feb 2004 Misc updates and fixes to examples (PG, SF, GB)
PP/bands.f90 stops if pools are present (PG)
Small bug fix in pseudo_types.f90 (AdC)
INPUT_CHDENS: fix description for XCRYSDEN format (Tone)
Implementation of LDA+U gamma_only calculations (SF)
11 feb 2004 Missing lapack routines added (PG)
Case nks=1 in new_ns fxed (SF)
pw2casino: formatted output for G vect, correct nonlocal
energy, now correct in NC case (MP)
The minimization procedure has been refined in order to be
more robust when the starting configuration is close to the
minimum: if (and only in this case) the trust_radius is too
long and the step fails to reduce the energy (Enew>Eold),
then the new trust_radius is obtained with a quadratic
interpolation (line search) that is guaranteed to have a
good minimum (previously the trust_radius was simply halved).
For test purpose a precompiler flag (OLDRECIPE) can be defined.
summary.f90: format was causing trouble with 'f' projectors (SF)
10 feb 2004 Cleanup in check_example (GB), PW/rotate_wfc*.f90 (CS)
Singular Value Decomposition used in extrapolate_wfc:
avoids numerical instabilities (Paolo Cazzato)
9 feb 2004 The new bfgs minimization scheme is now the default.
In order to use the old scheme, the keyword ion_dynamics
must be set to "old-bfgs" (C.S.)
pw2casino: correct kinetic energy (tpiba2 was inside the k-loop)
write out only G vectors uses to describe wavefunctions
still not working in parallel (MP)
6 feb 2004 Example documentation updated (SF)
Stress units explicitly written on output (SdG)
Examples updated, misc. (PG)
Example checker rewritten using awk (GB)
Added a tool to generate a new path (what is actually generated
is the restart file) starting from an old one. The new path is
obtained through interpolation (cubic splines). The new path
can be discretized with a different number of images (this is
its main purpose), images are equispaced and the interpolation
can be also performed on a subsection of the old path. A self
explanatory shell script is also included: it permits an easier
manipulation of the input file. Fixed a couple of bugs affecting
the "reset bfgs" procedure (C.S.).
5 feb 2004 Fixes for 64-bit HP compilations (thanks to Sergei Lisenkov)
Better example checker (GB). Minor cleanup of tabulators (PG)
4 feb 2004 D3 code updated to work with max_irr_dim != 3, some cleanup.
D3example added. (Gernot Deinzer)
Fixed a bug in the parallel version of neb: a bcast was
missing (CS).
3 feb 2004 Documentation updated, some changes to output in dynamics
and in summary as requested by Tone - examples updated
configure => configure.old, configure.new => configure (PG)
Added some experimental stuff (not compiled if __LANGEVIN
is not defined) to neb_routines (CS)
Added preliminary version of interface with QMC code
CASINO: PP/pw2casino.f90 (Mickael Profeta)
2 feb 2004 projwfc works also with the gamma_only version (Guido Fratesi)
Restored the check on diagonalization also at the first scf
iteration. Module miscellany removed. Cleanup (CS).
29 Jan 2004 Fixed a bug and a potential name conflict in module
basic_algebra_routines (CS). Fixed bug in noncolinear case
with k-point parallelization (AMC+CS)
Sloppy code in variable-cell code leading to overflow (PG)
Small changes to "memory" to prevent integer overflow (PG)
28 Jan 2004 flib.a is only redone when necessary (GB)
PWCOND: missing ionode_id added (AdC)
Fixed a bug in the restart mode of neb (CS)
Manual updated (CS, PG)
example6/run_example modified to prevent SP4 weirdness (PG)
Workaround in PW/h_psi.f90 for ifc v.8 (PG)
Misc cleanup, empty workspace module removed (PG)
27 Jan 2004 Miscellaneous cleanup
Missing IMPLICIT NONE in PH/solve_ph.f90 was causing problems:
iunres was not declared and unit -1073746312 was opened (CS)
Recently introduced bugs in PP/projwfc.f90 and in
PW/dynamics.f90 fixed (PG)
24 Jan 2004 Speedup in LDA+U and stress calculation (SdG)
IBM xlf workaround (CC)
Module pwcom removed from PW/ (PG)
23 Jan 2004 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 files changed. (PG)
64-bit cpus (Opteron, maybe Itanium) should now work
if __LINUX64 is defined (PG)
The diagonalization threshold can now be read by the input file
(diago_thr_init). In the case of a phonon calculation it is
ignored and a warning message issued. (CS)
22 Jan 2004 More fixes for the case of local potentials only (CS)
Bug fixed in phonon calculation with nosym=.true. :
minus_q and related variables where not properly set
minus_q was always .false. while instead it may be .true.
for some value of q (gamma for instance) (SdG).
Contribution to the stress from derivative of the bessel
function is obtained from the already available interpolation
table: non-local stress calculation is much faster (SdG).
STM images can be obtained from a calculation at "gamma";
gamma_only variable is written/read by saveall (Guido Fratesi)
Cell parameters written on output for variable-cell dynamics
as requested by Tone (PG)
Misc cleanup
21 Jan 2004 An old bug of PWscf was still there in the noncolinear code:
if lscf=.false. the calculation now starts from potential (AdC).
More tweaking on ethr threshold (CS).
Renamed reference outputs in pw_examples/example1 from "file"
to "file.out", edited run_example accordingly (GB)
machine.h: #define ZHETRD ZHETRD confuses pgi compiler (PG)
Case of local potentials only fixed (?) once again (PG)
20 Jan 2004 The threshold for diagonalization (ethr) is now fixed to 1.D-5
at the first scf iteration (iter=1). A check is performed to
verify that the resulting density is adeguate (dr2/nelec > ethr).
If it is not the diagonalization goes on with a smaller ethr.
For iter > 1 ethr is updated with the old recipe.
Added a warning in update_pot that indicates "problems" in
wfc extrapolation. This problem has not yet been fixed.
More pwcom modules splitting (CS)
Fixed occupation in noncolinear code...fixed! (AdC)
14 Jan 2004 out-of-bound error in Berry Phase calculation (PG)
Automatic checker for examples added (GB)
09 Jan 2004 phonon did not work on 4-dim irreps (PG)
configure.new updated to work with intel v.8 (GB)
(which gives internal compiler error anyway)
08 Jan 2004 examples (output) updated
06 Jan 2004 Check on undefined variables, out-of-bound arrays
Several implicit none re-added, pwcom modules split (PG)
05 Jan 2004 Tabs removed (again)
NEB/ removed from makedeps.sh
plotrho: added possibility to have contour lines of
various type
A few undefined variables defined (again) (PG)
05 Jan 2004 Cleanup of Gamma/ directory: obsolete files removed (CS)
Gamma/ now contains only Gamma-only version of the phonon code
29 Dec 2003 kpoint_grid:
- Bug fixed. Array wk(:) was temporarily used beyond its
range and in some cases, with very large number of k-points,
the code dumped or gave totally wrong numbers.
- Symmetry k-point reduction algorithm exploits now the
knowledge of the ordering of points in the list. It is
much faster, in particular for large grids (as those
needed for el-ph interaction for instance).
16 Dec 2003 Berry-phase bugs fixed (Oswaldo)
Added trick by FA to allow reading from file
15 Dec 2003 Fixed non-colinear version with GGA+NLCC spin-unpolarized
11 Dec 2003 Merge of Gamma and NEB versions into PW
-------------------------------------------------------------------
Intermediate version: pw-1-3-1
-------------------------------------------------------------------
4 Dec 2003 NEB at gamma (NEB/pwgneb.x) is now available.
Problem with starting_magnetization in NEB code fixed
Misc documentation updates
chdens : fixed XCRYSDEN output (Tone)
2 Dec 2003 spin-polarized calculations: at least one value for
starting_magnetization must be explicitly set in input.
Workaround for xlf compilation problem in new BFGS
<1 Dec 2003 Added two new implementations of BFGS (experimental:
can be tested using NEB code). Noncolinear speedup
21 Nov 2003 Fixed bug in Gamma+doublegrid
Doc update, misc. cleanup in NEB and installation
20 Nov 2003 NEB added
19 Nov 2003 misc improvements in Makefile and configure.new
14 Nov 2003 PW/memory.f90 cleanup, icc problems in c_mkdir.c
11 Nov 2003 some pointers converted to allocatable (Michele)
new script to find dependencies
9 Nov 2003 bug (alpha compiler) reported by Sergey has been fixed
new lapack subroutine, called from PWCOND, added to
lib/lapack.f and lib/lapack_ibm.f
Wavefunctions arrays moved to module wavefunctions_module,
common to all codes - required to reduce duplicated subroutine
Module filnam in pwcom moved to io_files module
Module units in pwcom moved to io_file
From now on, all file names and their units and attributes
(i.e. reclen) should be defined in Modules/io_files.f90
7 Nov 2003 Doc updated, example 5 and some Make.* files corrected
3-6Nov 2003 "stdout" and "stderr" units introduced and used everywhere
in the code (needed in NEB for simple output redirection).
Merge of colinear and noncolinear versions of input.f90
and addusforce.f90.
Version number updated to 1.3.1
1? Nov 2003 Tag "pwsafe" added.
29 Oct 2003 Merge of several Gamma-specific routines into PW/
-D__LAM was not working in some cases (Michele)
29 Oct 2003 Gamma code cleanup: becp is allocated when used and
then deallocated, obsolete module gamma removed
28 Oct 2003 PGI compiler doesn't like "external ::"
Minor changes to examples for noncolinear
24 Oct 2003 Speed-up of Z* calculation
21 Oct 2003 Input documentation (sort of) for PP/projwfc.f90
Added template for developers' guide (pwdocs/refman.tex)
16 Oct 2003 bfgs modified to work with arbitrary components of the
atomic positions kept fixed (Carlo Sbraccia)
"Total force" now prints a more sensible quantity:
\sqrt(\sum_{i,n} f_i(n)^2) instead of \sum_{i,n} |f_i(n)|
Cleanup in several routines and in modules.
16 Oct 2003 US effective charges now available in the phonon code.
Contributed by Gernot Deinzer
15 Oct 2003 phonon: added comments to remind why dbecsum is summed
over processors; various calls to setv removed
Second occurrence of wsinit and wsweight removed
Unit number cleanup (solves problem with conflicting units)
8 Oct 2003 Two bugs due to atomic-unit mess:
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 here and there.
Band plotting may output data in xmgr-readable format
3 Oct 2003 Non-colinear version of PW added (PWNC/)
Cleanup of PP and other routines
Band plotting simplified
Support for HP PA-Risc (re-)added
17 Sep 2003 Wrong coordinates written if atomic_positions='crystal'
(thanks to Francois Willaime)
Errors in makefiles for cygwin and hp
Various compilation problems for t3e, alpha
-------------------------------------------------------------------
Date: 9 Sep 2003 Version: pw-1-3-0
-------------------------------------------------------------------
09 Sep 2003 Fix for a nasty bug: if one performs two band structure
calculations one after the other, the first spoils the
charge density and the second yields wrong results.
Temporary fix (AdC): start nonscf calculations from
potential instead of rho.
Added consistency check for DFT read from PP files.
02 Sep 2003 Parallel version of DIIS diagonalization
Bug fix in the dielectric constant with US-PP.
A factor i was not needed. Small differences
with previous results. (Found by G. Deinzer).
io_base logic simplified.
Variable wf_collect added to the control namelist.
This logical variable will be used in pw to
collect wave functions at the end of a parallel run.
Integer overflow in memory.x fixed (Adriano MC)
01 Sep 2003 Example outputs updated. Manual updated.
Added scripts from Tone, Makefile for cygwin.
29 Aug 2003 Version number centralized in Modules/version.f90,
updated to 1.3.0
Auxiliary programs in pwtools/: equation of state (ev.x),
distances/angles (dist.x), k-point generation (kpoints.x).
D3 fixes (maybe). Misc cleanup.
21 Aug 2003 occupations can be read from file.
sp3 fix (allocation with zero length). Manual updates.
Gamma: fixed occupations, electric fields, cleanup.
20 Aug 2003 punch_band.f90 works in parallel. Misc cleanup.
nelec, nelup, neldw may have noninteger values
11 Aug 2003 PP/start_postproc.f90 cleanup. Manual updated. Some error
messages clarified. Example for Berry phase updated (BEWARE:
space needed between card and option after last changes to
input!!! K_POINT{automatic} => K_POINT {automatic} )
31 Jul 2003 More input merging (Carlo):
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
(contained 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
(contained in module read_namelists.f90 )
subroutine control_bcast( )
...
call mp_bcast( pippo )
...
end subroutine
30 Jul 2003 indexing of the occupation matrices (ns,nsnew, etc) used in
LDA+U has been redefined in a more natural order:
ns(na,is,ldim,ldim) -> ns(ldim,ldim,is,na)
28 Jul 2003 cell parameters in the case ibrav=0 back to previous
convention (as documented in INPUT_PP)
Misc. cleanup, manual updated
25 Jul 2003 el-ph calculation in the US case should work properly.
An US term in the calculation of deltaV * psi_v needed in
elphon.f90 was missing. This was giving wrong number in version
1.2.0, while US case was not implemented in previous versions.
23 Jul 2003 clean_pw cleaned
symmetries are always applied in non-scf calculations
(excepted for Berry-phase calculation):
use nosym=.true. to prevent generation of additional points
Example for STM added
21 Jul 2003 Fixed recently introduced memory leak, some cleanup,
removed useless "include mpif.h"
11 Jul 2003 Atomic positions are written in a relaxation run
in the same units used in input
The unit cell can be given using crystallographic
parameters a, b, c, (all in A), cosab cosac, cosbc
Misc. cleanup
08 Jul 2003 Cleanup: latgen, punch_band (algorithm improved)
Minor changes to bp_c_phase to avoid compiler warnings
Options for LAM MPI added (as suggested by Cangiani)
01 Jul 2003 Example for conjugate-gradient diagonalization added
30 Jun 2003 Energy and forces with a finite electric field.
Added the possibility to subtract the dipole field
for slab or molecule calculation.
(See Bengtsson PRB 59, 12 301 (1999) and
Meyer and Vanderbilt, PRB 63, 205426 (2001).)
30 Jun 2003 Bug fix in add_zstar_ue. The routine was not working with
one k point.
average.f90 extended.
25 Jun 2003 More files names dimensioned to 80
recips.f90 moved to flib and used by all codes,
all Makefiles modified accordingly
Examples updated, new example for band structure
calculation added
20 Jun 2003 PW/startup.f90: longer character variable np needed
Band extraction moved out of PP/pp.x, into PP/bands.x
Band plotting program (PP/plotband.f90) added
Misc corrections
18 Jun 2003 minor glitches in PW/readpp.f90, PP/plotrho.f90 fixed
12 Jun 2003 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
11 Jun 2003 New and modified routines added for the calculation of the
electric polarization in crystalline solids using Berry phase
theory (dieguez@physics.rutgers.edu).
29 May 2003 memory estimator should work for parallel machines as well
Manual updated
29 May 2003 Bug in diropn: tmp file name too short
startup: more general mechanism too catch npool
(both contributed by Serguei Patchkovskii)
28 May 2003 Minor cleanup
22 May 2003 Davidson modified to use less memory in non-US calculations
(involves changes in several routines)
Option "nooverlap" for Davidson removed
19 May 2003 New DIIS added (Stefano Fabris)
Removed obsolete "scf in/out correction"
12 may 2003 MKL problem fixed (maybe)
Manual updated
8 may 2003 PP/chdens.f90 rewritten, different input
5 may 2003 Some cleanup in ggen, __OLD_GGEN stuff removed,
same code (almost) for PW and Gamma versions
version number updated, manual updated
Lahey installation
24 apr 2003 More FFT restructuring (CC)
Updates to manual
22 apr 2003 CERNFFT, option NOPENCILS removed, misc changes
Make.ibmsp modified to work (hopefully) without
modifications for all codes
22 apr 2003 All setv statements in PW replaced by f90 constructs.
Minor changes in PW & PH (code readability).
21 apr 2003 More FFT restructuring (CC)
Makefile fixes (PP, PH, D3, Gamma)
Calls to allocate_fft, ggen moved out of setup.f90
Minor change in mix_rho to reduce memory use
15 apr 2003 Doc and install files updated (MKL problem)
12 apr 2003 All filenames => 80 char
All directories=> 80 char
Filenames + directories + other => 256
10 apr 2003 Minor changes
09 apr 2003 beginning of parallel FFT restructuring (CC)
08 apr 2003 evc is dimensioned (npwx, nbnd) - various routines changed
(extensive changes to wfcinit, rotate_wfc, ccginitg).
Residual wrong dimension et(nbndx,nkstot) removed.
Common efield_0 in PW renamed extfield to avoid name
clash with common efield in PH (PGI compiler)
08 apr 2003 g_psi, g_psi_mod: new preconditioning (better behaved when
hdiag-e*sdiag is close to zero) used in cegterg. This
removes most of the warning messages when using Davidson
diagonalization. Although the overall performance (number of
h_psi performed) does not seem to change very much in small
tests, except pathological cases like ni.band.in in example1,
it should be wise to have a more stable preconditioning.
cegterg: use always GEMM instead of GEMV in the update.
electrons: in a relaxation run perform accurately the first
iteration after ionic move but reset the diagonalization
threshold according to the actual self-consistence for the
following ones.
07 apr 2003 D3/Makefile : missing add_efield added
cegterg, regterg: use GEMM instead of GEMV, do not require
any longer evc, et to be dimensioned nbndx (et is now
dimensioned (nbnd,nkstot)) - misc. cleanup
03 apr 2003 chdens now can compute the dipole moment of a localized
charge. (ADC)
A new routine (add_efield) has been added
to add a finite electric field with a
sawlike potential: see PRB 34, 7146 (1986). (by J. Tobik)
27 mar 2003 Do not restart bfgs from previous results if
restart_mode='from_scratch' (this time correct)
tmp_dir => outdir in reading, everywhere
misc. cleaning
24 mar 2003 calls to mpi_bcast replaced by calls to interface mp_bcast
Electron-phonon with Vanderbilt according to MW (untested)
21 mar 2003 - call to dvqpsi_us in PH/elphon.f90 updated with recent
changes (could cause core dump)
- local_dos.f90 compilation error in parallel case
- more mpi_bcast => mp_bcast, misc. cleaning
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.
19 mar 2003 fix for problem when reading local potential fixed again
Make.pc_abs fixed, minor documentation update
Wrong call to sgama in PH/star_q.f90 fixed
14 mar 2003 data for preprocessing on parallel machines can be read
from standard input
problem when reading local potential on ibm-sp3 fixed
13 mar 2003 obsolete core-charge only term (etxcc) removed
from bfgs.f90 and set_rhoc.f90
direct calls to mpi_bcast replaced by calls to mp_bcast
Misc. minor changes
11 mar 2003 Startup subroutines of all codes now calls
mp_start and mp_env mp module subroutines instead of
mpi_... directly. This is a first step in the direction
of hiding the communications within a few basic modules.
10 mar 2003 "configure" bug for pc cluster and intel 6
Make.rules_cpp => Rules.cpp, Make.rules_nocpp => Rules.nocpp
lapack_mkl.f added, __MKL removed
Make.{fujutsu,sxcross}, compile error in restart.f90 (Guido)
electrons, punch_band, plot_bands: use the same format
for reading and writing eigenvalues
3 mar 2003 PP/dos.f90: density of state is written in #state/eV vs eV
(it was written in #state/ryd vs eV) .
PP/projwave.f90: pwojwfc.x writes on standard output projections
on atomic states in a "human-readable" format, it writes
atomic-projected dos on files with self-explanatory names
( such as 'prefix'.pdos_atm#1(Ni)_wfc#2(d) in example8 ).
A variable io_choice= {'standard' | 'files' | 'both'} in
the namelist specifies where output is written.
example8: generation of pdos added to the example.
example1-9: modified so that 'cd results' statement is
executed before 'rm -f $TMP_DIR' one ... Otherwise defining
the current directory as TMP_DIR would result in removal of
all files in the example directory.
28 feb 2003 filemd => 'prefix'.md, filebfgs => 'prefix'.bfgs
Misc. T3E fixes
27 feb 2003 Misc. installation changes
27 feb 2003 Bug in PW/new_ns.f90 (Lixin He) fixed
Symmetrization of occupation matrix ns needed for LDA+U
calculations used incorrectly d2 matrices instead of their
transponse. Similar error corrected also in PP/projwave.f90
24 feb 2003 Bug in Gamma/raman.f90 (Xhongjun) fixed
Bug in PP/work_function.f90 (Pingo) fixed (sort of)
LIB, LIBS => LIBS in all Makefiles
21 feb 2003 Support for lahey compiler added (Verissimo-Alves):
"error" renamed to "errore", "rnd" to "rndx"
bug in io_base fixed
PARA => __PARA
cinterpolate moved into interpolate
11 feb 2003 Support for nec sx6 added (Guido Roma)
10 feb 2003 Support for sun completed
Better checks for q2r.f90
10 feb 2003 lda+u stuff modified in order to work also for non-d
localized orbitals. Hubbard_l=0,1,2,3 are now possible.
It has been tested that calculations done for Hubbard_l=2
are reproduced. More testing on non-d material needed.
7 feb 2003 module allocate, calls to mallocate, mfree removed
pointers replaced by allocatable whenever possible
-------------------------------------------------------------------
Date: 29 Jan 2003 Version: pw-1-2-0
-------------------------------------------------------------------
29 Jan 2003 Variable-cell dynamics: if the simulation starts from scratch,
remove existing files (e, eal, ave, avec, p, tv) from previous
simulations, give a warning.
28 Jan 2003 More manual and examples updating, license added where missing
bug in Z* and in dynmat.f90 fixed.
New chdens from Tone.
27 Jan 2003 More manual updating, minor Makefile changes.
merge of constants.f90 with CPV/FPMD.
phcom.f90: variable max_irr_dim introduced
(max dimension allowed for irreps: replaces "iswitch=-3")
26 Jan 2003 Manual added and (partially) updated
25 Jan 2003 Makefiles modified to work if some directory is missing
INSTALL file added, pwdocs/INSTALL.obsolete obsoleted,
README worth reading, misc. cleaning
24 Jan 2003 More changes to installation files
small change in input.f90 to allow use of debugger
Do not (yet) use UPF format to write PPs in restart file:
other types of PP will not work
Documentation of examples, PP in UPF format updated
23 Jan 2003 Misc changes to installation files and module finder,
missing file added to PH - PG + CC
20 Jan 2003 Added dielectric tensor calculation with USPP
(experimental) - AdC
19 Jan 2003 NEW DIRECTORY STRUCTURE, O-SESAME, NEW CVS SERVER
15 Jan 2003 Two small bugs in the recover fixed (SdG and ADC)
if disk_io=low or restart_mode=from_scratch remove
existing restart file if present.
Recovering with disk_io=high from a disk_io=low run
is possible. Also the opposite is possible.
More information on the restarting procedure is echoed
to the output file.
Relaxation and dynamics echo the atomic coordinates in the
output file in the same format used in input.
When doing damped dynamics relaxation, do not issue a warning
about dynamics and symmetry. In this case the use of symmetry
is legitimate.
13 Jan 2003 More output format fixes (CC):
- bug fix for the old style punch (when compiling
without __NEW_PUNCH ): now it seems to work
- variables pseudo_dir and pseudop moved to module "io"
- new module upf_to_internal added
- in the restart file now the pseudopotentials are stored
in the upf format. Therefore the code phonon restarts from
the upf and re-computes the internal variables. It seems
to work but more check are needed.
With this new feature we are close to compute phonons using
the CP codes restart file, this is not yet possible
because the charge density is still missing in restart file,
UPF converters: error in format (variable "rel")
(found by David Vanderbilt)
10 Jan 2003 Gamma adapted to recent changes in I/O, misc cleaning
A bug and alpha compilation problems fixed in chdens (PG)
07 Jan 2003 bug fix in io_base.F90, parameters.f90 (CC) :
- maximum number of k point in read_restart_header
- check on pseudo dimension modified when reading
and writing restart
04 Jan 2003 new restart and output files (CC)
- bug fixes, problems with pools fixed
- io_base changed, a lot of check and a new wave functions writing
procedure added. The goal is to have a layout independent from i
the number of processors and pools and compatible with the CP90
and FPMD-N code
- parameters.f90 and dimensions.F90 merged
now parameters.f90 is common to the three codes.
- restart.F90: the possibility of specifing the amount of data to
be written has been added. in writefile_new one could specify
'dim' or 'all' (more will be implemented soon ), in
readfile_new one could specify 'dim', 'nowave', 'all'
- new vector igk_l2g ( read igk local to global ) with the mapping
of g+k vector added ( required to collect all wave functions
from different processors and pools )
- __NEW_PUNCH macro temporarily added: without defining this macro
the saveall procedure is still used to communicate with phonon
* NOTE * with __NEW_PUNCH active, every time the punch is called,
the subroutine collect all wavefunctions from different pools and
dumps everythings in the ".save" file that is independent from
the procs geometry.
* NOTE * with __NEW_PUNCH active the PHONON code try to read wave
function from the "*.wfc" files, if they are not present PHONON
tries then to read wave functions from the ".save" file.
For the time being this is the way to proceed if we want to
calculate phonon with a different processor geometry with
respect the SCF calculation.
03 Jan 2003 bug fixing (SdG):
- configuration read from file when needed or required.
- stress calculation in the LDA+U case is now working properly .
- pool management in parallel case works with the new mp_global
module. Writing of the pwscf.save file still gives some problem.
More small changes to the LDA+U stuff, more pointers transformed
into allocatable allays, some formatting changes.
UPF specifications updated (PG)
28 Dec 2002 More Gamma merging (PG)
27 Dec 2002 Beginning of Gamma merging (PG)
20 Dec 2002 matdyn can do phonon DOS
Added tools/lambda.f90 for electron-phonon calculation
removed tools/dos.f90 (obsolete)
Minor changes in Gamma forces and stresses
NC to UPF converter: wrong core corr for analytical PP
18 Dec 2002 PG:
Minor change in input suggested by Tone:
ngauss => smearing ('gaussian', 'methfessel-paxton' etc)
call to "system" (alpha only) removed to prevent conflict
with namelist "system" (Guido Roma)
matdyn modified to handle phonons at q=0
CC:
array ig_l2g, that will be used to map local and global g
vector index, added to pwcom. This array is required to
collect wave functions across processors following a well
defined g vector orders, the same order as in CP90 and FPMD-N
variable ngm_g, ngms_g, ngm_l and ngms_l added to store local
and global number of g vectors.
pool-related globally accessible variables added to the module
mp_global
global and local number of g vectors computed in data_structure
ggen modified to build local to global g vectors index map!
To be tested in parallel execution with processor pools active!!
17 Dec 2002 LDA+U forces and stress implemented. Atomic wavefunctions used
in the definition of LDA+U projector are NOT orthogonalized in
order to simplify the computation of the above quantities.
"nosym" option should now work also for automatically generated
k-point grids. Misc cleanup.
Initialization of starting_magnetization fixed
12 Dec 2002 Behavior of "nosym" option changed: if nosym = .true. do not
force k-points to cover the entire BZ. Misc cleanup.
9 Dec 2002 Converters updated to recent UPF changes
6 Dec 2002 Fixed Gamma-only forces for US case (addusforce was wrong)
Fixed confusing error message if tmp_dir does not exist
Max l for Q functions dynamically calculated
5 Dec 2002 mixing modified so as to mix also LDA+U stuff.
4 Dec 2002 Minor changes to UPF format
Minor bug in UPF reading fixed (upf%typ was not defined properly
if not US).
Small changes in LDA+U.
3 Dec 2002 clean-up: iprint -> iverbosity, kwrite -> iprint
Restart from files (configuration,potential,wfc) should
work. In order to do so the code writes pot/rho files at each
iteration and wfc at convergence even if disk_io='default'.
If disk_io='high' the code attempts to restart from detailed
history of the interrupted run.
Files old1pot, old2pot in update_pot renamed 'prefix'.oldrho
and 'prefix'.oldrho2 in similarity to 'prefix'.oldwfc and
'prefix'.oldwfc2
2 Dec 2002 Added Gamma-only scf and phonon code (experimental)
29 Nov 2002 Added support for Hitachi. Indentation and cleanup.
ecut(:) removed in data_structure as well.
28 Nov 2002 clean-up: iswitch.gt.4 removed everywhere;
input_pot and output_pot removed, use prefixed filenames;
rename beta(:)->mixing_beta, and ecut(:)->ecutwfc everywhere.
File prefix.config and variable startingconfig='file'|'input'
introduced in order to allow to restart from an interrupted
relaxation or dynamics even when disk_io.ne.'high'...
Restart still to be changed accordingly.
26 Nov 2002 Variable "becp" put in a separate module
(needed for inclusion of Gamma-point version).
Convergence thresholds for minimization also apply
to damped (Beeman) dynamics that now stops if they are
fulfilled before completing all nstep ionic steps.
25 Nov 2002 input_pot variable suppressed. Feature replaced by
startingpot='atomic' or 'file'
Starting diagonalization threshold (ethr) modified accordingly:
when startingpot=='atomic' ethr is initially loose;
when startingpot=='file' (always for nscf and phonon) starting
potential is expected to be good and ethr is tight from the
beginning.
22 Nov 2002 atomic labels are set to (len=3) everywhere
Version number updated
21 Nov 2002 use of input variable calculation, ion_dynamics and
cell_dynamics modified. calculation define more specifically
the kind of computation to be performed (scf,nscf,phonon,
relax,md,vc-relax,vc-md) and the other variables provide
possibilities for additional tuning. see INPUT_PW for details.
length of character variables atm and atom_label incresed to 3.
freq_pw renamed to gauss_freq (a less pw-centered name).
Variables psi(:,np) and aux(:,:) explicitely zeroed before
use in order to avoid ZGEMV and ZGEMM to return garbage if
they are undefined.
14 Nov 2002 CELL_PARAMETER card should be correct
Added support for sun machines
POINTER => C_POINTER
13 Nov 2002 INPUT_PW updated
sp4 problems:
freq renamed to freq_pw
(name used by hardware performance monitor)
Makefiles changed to allow loader different from compiler
*.f90 allowed also by ibm with appropriate flag
cegterg: change pointers to allocatable
12 Nov 2002 More (extensive) input changes
07 Nov 2002 Serious numerical problem with spherical harmonics
Converter from CP format to UPF fixed
04 Nov 2002 UPF reading recast in a more portable (to other codes) way.
addusforce: don't do anything if there aren't any US PP
21 Oct 2002 Variables for lda+U added to new input
Serious bug in conjugate-gradient diagonalization
(cinitcgg.F90) fixed
bcast_input did not compile on parallel machines
some cleaning here and there
21 Oct 2002 Variable Hubbard_alpha added. It is used in the calculation
of Hubbard_U. Minor typographical changes in some routines
16 Oct 2002 input: dynamics + constraints, isolve suppressed
15 Oct 2002 unexpected energy window plotted by pplib/dos.x .
sph_bes and qvan2 modified for L=3 pseudopotentials
10 Oct 2002 Missing input variables added to input.F90
Fixed a mismatch between where the potential is
and where it is read from.
Bug in pplib/chdens.F90, pplib/average.F90 fixed
Makefile, other minor changes in pslib/
1 Oct 2002 L=3 pseudopotentials should work for both NC and US PP:
ylmr2 and d_matrix rewritten, init_us_1 modified.
read_pseudo_pswfc now reads properly atomic wavefunctions
in the UPF format.
20 Set 2002 Minor changes preliminary to l=3 implementation in US PP
19 Set 2002 New input - works also in parallel
-------------------------------------------------------------------
Tag: pw-newmix
23 Aug 2002 Memory leak in mix_rho (rhoutsave not deallocated) fixed
Compilation problems in electrons with old xlf compiler fixed
Documentation update
22 Aug 2002 ibrav=0 case added to postprocessing
"call remove" has been removed
21 Aug 2002 new charge density mixing schemes added.
Four (4) mixing schemes are available according to the value
of the variable mixing_style in the namelist.
mixing_style='potential' (default): the same as before
mixing_style='plain': charge density mixing where a step
(of lenght beta) in the delta_rho=rho_out-rho_in
direction is taken.
mixing_style='TF': charge density mixing where delta_rho is
screened with a homogeneous TF model.
mixing_style='local-TF': charge density mixing where delta_rho
is screened with a local-density dependent TF model.
The scf accuracy control variable dr2 should now provide a
fairly good estimate of the error in the energy due to lack of
selfconsistency. The scf threshold tr2 has therefore to be set
accordingly. Setting of threshold ethr also revisited.
Force scf correction should be ok, as well as relaxation settings
(possibly being more strict than really needed).
No effort was made yet to recover form interrupted runs or treat
properly restart from potential/charge of previous similar runs.
Date: 20 Aug 2002 Version: pw-1-1-2
Changes with respect to version pw-1-1-1 :
-------------------------------------------------------------------
more UPF converter and miscellaneous cleanup
added support (maybe) for beowulf clusters with intel compiler
19 Aug 2002 Added possibility to calculate DOS from Emin to Emax (Tone)
Some cleanup of converters to UPF
17 Aug 2002 new PP_FORMAT implemented in PWSCF.
Tested on:
Al.vbc, As.gon, Pb.bhs3, (Analytical NC: minor differences due
to conversion of the local potential
to numerical form)
Fecc.mt, (Numerical NC: no differences)
CuUS.RRKJ3,FeUS.RRKJ3,NiUS.RRKJ3 (New US: no differences)
Au.vdb, (original US: no differences)
Test on more pseudopotentials welcome.
PP converters in pslib now produce pseudo in the new format.
Some fixing was needed but now things seems to work.
More testing welcome.
More sensible layout of PP_INFO field and of PP information
printed by PWSCF needed.
29 Jul 2002 bugs in new version of projwave (both scalar and
parallel case) fixed
23 Jul 2002 projection on atomic states moved from postproc to
a separate program "projwfc.x". More readable output.
More Makefile fixes (origin)
19 Jul 2002 obsolete system/Makedeps* removed.
BUGS file updated.
Misc. fixes (thanks to Palaiseau people):
kfac was not deallocated in stres_knl,
tmp_dir too short in bcast_input,
various Makefile fixes (to be verified).
12 Jul 2002 Fast 3d plot in pplib/chdens available
Check presence of argument "-npool N" in para/startup
(some PC compilers give an error otherwise)
10 Jul 2002 Only one "filpun" file is written in the parallel case
(but the wavefunction file is still distributed):
pwlib/openfil, saveall, punch, read_file modified,
documentation updated.
Error in phlib/stop_ph due to use of uninitialized
variable (iunres instead of iunrec) fixed
09 Jul 2002 pwlib/gen_us_dj: the definition of the first point for
which the spherical bessel functions are computed is
now consistent with the check performed in sph_bes.F90.
(Problem pointed out by Shobhana Narasimhan)
09 Jul 2002 pplib/plot_io : read/write also atom name, type, charge,
use nr3 and not nrx3 to write/read
pplib/chdens, average, modified accordingly, various cleanup
sph_dhar removed and replaced by dylmr2,
gen_us_dy modified accordingly
08 Jul 2002 sph_har removed and replaced by ylmr2
init_us_2, gen_us_dj, atomic_wfc updated accordingly
restart=.false. by default (documentation updated)
Misc. cleaning and indenting
New version of aainit: should be easier to generalize
to higher l (SdG)
02 Jul 2002 machine.h, Make.* modified : all preprocessing options
can be given directly in the Make.* file, no need to
make changes in the code - documentation updated
More cleaning and indenting
28 Jun 2002 Support for Fujitsu added (Guido Roma)
Various Alpha fixes (Francesco Antoniella and others):
Make.alpha updated (correct preprocessing options),
pwlib/cft_3.F90 for dxml/cxml libraries, pwlib/scnds.F90,
uninitialized variable in pwlib/read_pseudo.F90 (scan_begin)
pplib/elf.F90, pplib/voronoy.F90 compilation problems
pplib/punch_band.F90 modified to write an output that
can be read by new file tools/band_plot.f90
(Francesco Antoniella)
KIND => kind everywhere
readin: tests for lsda are needed only by scf calculations
nh statically dimensioned
some obsolete variables removed
Make.t3e updated (CINECA-specific stuff removed)
3 Jun 2002 Fixed a problem with restart file introduced by the last
changes. klen, dircls, remove removed.
31 May 2002 Doc update, more readin.F90 cleaning
Non-lscf calculation closes correctly files (small changes
to electrons, pwscf, ions)
No more node number added to sequential files for the first
processor in parallel execution (seqopn); diropn cleaned
30 May 2002 ltetra is now distributed in bcast_input
30 May 2002 INPUT_PW, Make.pc_abs updated, cleanup of readin.f90
15 May 2002 Documentation update, problems in Makedeps
10 May 2002 added directory Doc/ containing web pages
some variables moved from module para.f90 to data_structure.F90
Date: 7 May 2002 Version: pw-1-1-1
Changes with respect to version pw-1-1-0 :
-------------------------------------------------------------------
add input check on presence of gaussian broadening for LSDA
restart_in_ions : do not destroy vnew, it is needed in
force calculation (scf correction term)
18 Apr. 2002 gradcorr, dgradcorr: two FFTs spared
cgracsc moved to pplib/ (not used in any other place)
file BUGS added
fixed bug in stres_us for non-us PP and one k-point
(same problem of force_us, see 5 Apr.)
newd does not waste cpu time if no US PP's are present
projection on atomic wavefunctions (projwave.F90)
now works also for atoms with semicore states.
dynmat.x: added calculation of IR cross sections,
write correct displacement patterns in "molden" format.
Misc. indentation and cleaning
indexes, indeces => "indices"
8 Apr. 2002 same changes as in the f77 version in order to fix a few
problems in the parallel version of d3tot: klen function
is declared external whenever is used; reading/writing
of fildrho is performed by the first node of each pool;
npwq is defined in d0rhod2v.F also when lgamma is .true.;
routine symd0rho is called by psymd0rho even if nsymq=1.
A couple of more partial contributions to d3mat are written
on disk if wraux=.true.
5 Apr. 2002 force_us did not work for non-us PP and one k-point
(as a consequence of a change introduced in sum_band)
27 Mar. 2002 Make.rules.ibm corrected (again)
pplib/stm.F: stm_wfc_matching was incorrect
(thanks to Maria Peressi)
pwlib/cegterg.F90: removed spurious \ introduced yesterday
26 Mar. 2002 Indentation and cleaning of several routines.
phlib/dynmatcc.F90 heavily modified.
Only pseudopotential arrays including structure factors
are now used: the meaning of variables nkb and vkb has
changed (they replace variables nkbtot and allvkb),
many routines (mostly in d3lib/) changed accordingly,
pwlib/apply_phase.F90 deleted.
system/Make.alpha, pwlib/readin.F90 modified, added
system/Make.alphaMPI (Guido Roma, Giovanni Cantele).
pwlib/cegterg.F90: useless operations not performed
at the end, aux is as big as needed (and not any more)
21 Mar. 2002 h_1psi, s_1psi replaced by wrapper routines that call
h_psi, s_psi ; add_1vuspsi deleted, misc. cleaning
20 Mar. 2002 fixed compilation error in tools/dynmat (thanks to B.R.Sahu)
Make.rules.ibm corrected
Warnings in include/error_handler and tools/q2r fixed
19 Mar. 2002 various Makefiles fixes
dgradcorr not called if gradient corrections absent
(Portland compiler did not like it)
Date: 15 March 2002 Version: pw-1-1-0
-------------------------------------------------------------------
12 Mar. 2002 More complex(16) fixed, misc. cleaning
8 Mar. 2002 Fixed bug in dvpsi_e.F that could yield bad dielectric tensors
and effective charges (there was an inconsistency in
indexing of pseudopotential arrays)
6 Mar. 2002 Potential problem in 2N+1 fixed: Patterns are now written
by phonon and read (and not generated again) by d3tot.
This should guarantee consistency between the two sets.
6 Mar. 2002 More compilation errors for parallel machines
Function "capital" replaced with one that PG compiler likes
5 Mar. 2002 Small changes to compile on SP3 the phonon program
Support for PGI compiler added
Bug in mallocate fixed
4 Mar. 2002 ported changes to dos.f from 1.0.2
1 Mar. 2002 Updated README.INSTALL
14 Feb. 2002 changes parallel to those made in 1.0.2 are introduced
pwlib/readin.F90: / / => //
12 Feb. 2002 changes parallel to those made in 1.0.2 are introduced
25 Jan. 2002 tools converted
Synchronization with latest f77 version
Support for Intel compiler
Misc. cleaning
20 Dec. 2001 d3lib completely converted, misc. cleaning
19 Dec. 2001 Added pplib (untested), d3lib (does not work)
Misc. cleaning, removed spurious files
18 Dec. 2001 Initial f90 release