forked from QEF/q-e
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog.pw
1733 lines (1404 loc) · 83.2 KB
/
ChangeLog.pw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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