1Record of changes leading up to merge of BSC branch, including initial
2re-organization, and mesh-optimization and fdf work.
3
4(From January 19, 2007)
5
6------------------------------------
7330 Alberto Garcia	  2011-02-03
8Consolidated BSC logs; removed tests, old fdf dir
9
10BSC.CHANGES now contains a complete record of the changes
11in the BSC series of branches, since early 2007.
12
13removed:
14  Docs/Grid-Work.CHANGES
15  Src/fdf.old/
16  Tests/h2o_jacobi/
17  Tests/load_1/
18  Tests/load_on/
19  Tests/load_particle/
20renamed:
21  Docs/KNOWN.ISSUES => Docs/KNOWN.ISSUES.BSC-patch
22modified:
23  Docs/BSC.CHANGES
24  Docs/MERGE.LOG
25
26------------------------------------
27329 Alberto Garcia	  2011-02-03
28Add KNOWN.ISSUES and MERGE.LOG
29
30To prepare for the merge.
31
32------------------------------------
33328 Alberto Garcia	  2011-02-02
34Repackage mesh routines
35
36By putting the mesh and meshphi modules in their own files it has been
37possible to consolidate most of the classic "*mesh" routines in the
38meshsubs.F file. The new BSC functionality is confined to
39moremeshsubs.F (distribution-related routines) and the "communication"
40modules schecomm, meshcomm, and m_dscfcomm.
41
42removed:
43  Src/distriphionmesh.F
44  Src/initatommesh.F
45  Src/initmesh.F
46  Src/phionmesh.F
47  Src/setupextmesh.F
48added:
49  Src/mesh.F
50  Src/meshphi.F
51renamed:
52  Src/dscfcomm.F => Src/m_dscfcomm.F
53  Src/meshmatrix.F => Src/meshdscf.F
54modified:
55  Src/Makefile
56  Src/dfscf.f
57  Src/dhscf.F
58  Src/meshsubs.F
59  Src/rhoofd.F
60  Src/siesta_end.F
61  Src/vmat.F
62  Src/m_dscfcomm.F
63  Src/meshdscf.F
64
65------------------------------------
66327 Alberto Garcia	  2011-01-07
67Sync to trunk: intialize pointers; timer call
68
69* Several pointers were used without nullification in routine copyfile
70in file moreParallelSubs.F90.
71
72* A "turn-off" call to timer was needed in cdiag in case of early
73  termination.
74
75modified:
76  Src/cdiag.F
77  Src/moreParallelSubs.F90
78
79------------------------------------
80326 Alberto Garcia	  2011-01-07
81Remove direct writes to debug unit. Remove BSC timing framework
82
83* In the BSC development version, the DEBUG preprocessing directive
84controls whether a sort of running commentary of the program is
85written to a set of debug files. This framework has been left in place
86for now, but some stray direct writes to the debug unit (23 by
87default) have been removed in several routines.
88
89* The "tiempo" module and all related fossil calls have been removed.
90
91* Removed the experimental slepc diagonalization routine, which had
92  been overlooked in the previous cleaning pass.
93
94removed:
95  Src/slepc_diagon.F
96modified:
97  Src/siesta_init.F
98  Src/siesta_move.F
99  Src/timer.F90
100
101
102
103------------------------------------
104325 Alberto Garcia	  2010-12-01
105Explicitly nullify pointers in several places
106
107During the wholesale conversion of allocatables to
108pointers in some routines some of the pointers were
109left in an undefined state. The declarations have
110been changed to use the f95 " => null()" construct.
111
112Note: This version includes a minimal fixing of
113      moremeshsubs. There might be other issues
114      involving intent(out) derived types
115      with pointer components
116
117( + removal of fossil walltime.o from Makefile)
118
119modified:
120  Src/Makefile
121  Src/cgvc.F
122  Src/dynamics.f
123  Src/grdsam.F
124  Src/m_iorho.F
125  Src/moremeshsubs.F
126  Src/mulliken.F
127  Src/zmatrix.F
128
129------------------------------------
130324 Alberto Garcia	  2010-12-01
131Work around bugs in Intel compilers: FoX generics, k-grid
132
133* Work around a bug in Intel12 compiler in k-grid setup
134
135A dummy internal write is used to re-focus the compiler
136treatment of a few integer variables.
137
138modified:
139  Src/find_kgrid.F
140  Src/kgrid.F
141  Src/kgridinit.F
142
143* Avoid use of generics in declarations in FoX format routine
144
145The use of generic functions in declaration statements was confusing
146the Fortran compiler (version >= 11). They have been replaced by calls
147to the specific versions.
148
149modified:
150  Src/FoX/fsys/fox_m_fsys_format.F90
151
152------------------------------------
153323 Alberto Garcia	  2010-11-26
154Fix setting of applied electric field in parallel
155
156Due to a programming error, the user-specified electric
157field was not correctly set in non-master nodes.
158
159Thanks to Alexander Vozny for the bug report.
160
161modified:
162  Src/m_efield.F
163
164------------------------------------
165322 Alberto Garcia	  2010-11-24
166Remove non-finished iterative diagonalization code
167
168The Jacobi-Davidson (including slepc) code has been
169removed as it is not ready for merging. A number of
170auxiliary files have been deleted.
171
172removed:
173  Src/cg.F
174  Src/cholesky.F
175  Src/deflatedmv.F
176  Src/domain_decom.F
177  Src/gmres.F
178  Src/jacobi_davidson.F
179  Src/lenstr.F
180  Src/matrixop.F
181  Src/mmio.F
182  Src/precond.F
183  Src/printmatrix.F
184  Src/pspltm1.F
185modified:
186  Src/Makefile
187  Src/Sys/atto-pgf95-openmpi.make
188  Src/compute_dm.F
189  Src/hsparse.F
190  Src/initparallel.F
191  Src/parallelsubs.F
192  Src/siesta_end.F
193  Src/siesta_options.F90
194  Src/write_subs.F
195  Util/Denchar/Src/Makefile
196
197------------------------------------
198Start of interim branch bsc-grid+fdf
199------------------------------------
200
201------------------------------------
202321 Alberto Garcia	  2010-11-24
203Write electronic temperature while processing options
204
205modified:
206 Src/siesta_options.F90
207
208------------------------------------
209320 Alberto Garcia	  2010-11-23
210Timing routine output. Positions of neighbors in BONDS file
211
212* Clarify the output of the timing routine
213
214The timing routine now prints zeros instead of NaNs in the
215communications section if the variable MPI_TIMING is not defined, and
216an informational note.
217
218modified:
219  Src/m_timer.F90
220
221* Modify bonds routine to print real locations of neighbors
222
223In routine bonds (called at the beginning and at the end of the
224program) we now print the real location of the neighbor atom in space,
225and not, as in earlier versions, the location of the equivalent
226representative in the unit cell.
227
228modified:
229  Src/bonds.f
230
231------------------------------------
232319 Alberto Garcia	  2010-11-17
233Fine tuning of Util compilation
234
235Some minor details needed fixing:
236
237- New dependencies when BSC_CELLXC is defined
238- "default" targets need to appear before inclusion of arch.make
239
240removed:
241  Util/TBTrans/MPI/
242modified:
243  Src/Makefile
244  Util/Contrib/APostnikov/Makefile
245  Util/Gen-basis/Makefile
246  Util/Optimizer/Makefile
247
248------------------------------------
249318 Alberto Garcia	  2010-11-16
250Fix compilation of Utils
251
252The major remaining issues were:
253
254- New-style fdf calls
255
256- Proper treatment of "private" copies of fdf, MPI, etc
257
258- The macro __FILE__ expanded to a very long string in the fdf
259  routines. A new macro THIS_FILE has been defined instead.
260
261Some issues might still remain. Notably, the dependency lists are very
262cumbersome.
263
264removed:
265  Util/Denchar/Src/fdf/.dummy_dir
266  Util/Gen-basis/fdf/.dummy_directory
267  Util/TBTrans/Libs/
268  Util/TBTrans/Libs/.dummy_directory
269  Util/TBTrans/MPI/.dummy_dir
270  Util/VCA/fdf/.dummy_directory
271  Util/Vibra/Src/fdf/.dummy_directory
272added:
273  Util/Denchar/Src/timer_local.f
274modified:
275  Src/fdf/fdf.F90
276  Src/fdf/io_fdf.F90
277  Src/fdf/parse.F90
278  Util/Denchar/Src/Makefile
279  Util/Denchar/Src/denchar.f
280  Util/Denchar/Src/local_reinit.f
281  Util/Denchar/Src/readpla.f
282  Util/Denchar/Src/readsts.f
283  Util/Gen-basis/Makefile
284  Util/Helpers/Makefile
285  Util/TBTrans/Makefile
286  Util/TBTrans/m_tbt_options.F90
287  Util/TBTrans/mkqgrid.f
288  Util/VCA/Makefile
289  Util/Vibra/Src/Makefile
290  Util/Vibra/Src/fcbuild.f
291  Util/Vibra/Src/klines.f
292  Util/Vibra/Src/recoor.f
293  Util/Vibra/Src/vibrator.f
294
295------------------------------------
296317 Alberto Garcia	  2010-11-12
297Merge 3.0 fixes: ps reparametrization, getopts, ioncat, atm manual
298
299* Cosmetic fixes in Gen-basis/{ioncat,ionplot.sh}
300
301modified:
302  Util/Gen-basis/ioncat.f
303  Util/Gen-basis/ionplot.sh
304
305* Fix test in m_getopts
306
307A double if test gives problems with some compilers when
308bounds checking is in effect.
309
310modified:
311  Src/m_getopts.f90
312
313* Improved grid for re-parametrization of pseudopotentials
314
315When the option Reparametrize.Pseudos is in effect, the program
316resamples the pseudopotential data into a new logarithmic grid with
317parameters chosen so that the grid-point separation at the typical rcs
318for orbitals is small enough (of the order of 0.01 bohr). The previous
319choice of parameters resulted in grid-point separations of the order
320of 0.005 bohr near the origin, which apparently is not fine enough for
321s orbitals, leading to oscillations in the gradient near the origin.
322
323A new set of default parameters has been chosen to provide a finer
324grid spacing (1.e-5 bohr) near the origin and 0.01 bohr around r=10
325bohr. This results in grids with around 10000 points, which is still
326manageable.
327
328( Also, a few extra diagnostic files are produced if the option
329  Write.Ion.Plot.Files is in effect, and the .psdump file now
330  contains the core charge )
331
332modified:
333  Src/atmparams.f
334  Src/atom.f
335  Src/basis_specs.f
336  Src/pseudopotential.f
337  Docs/siesta.tex
338
339* Update atom manual
340
341- Include a mention of the "fractional atomic number" capability.
342
343- Update the link to Jose Luis Martins' version of the atom program, and
344  the contact information in the README file.
345
346modified:
347  Pseudo/atom/Docs/atom.tex
348  Pseudo/atom/README
349
350------------------------------------
351316 Alberto Garcia	  2010-11-12
352Fix import of mpi module in matrixop + new .make files
353
354Use 'mpi_siesta' instead of 'mpi'.
355
356Added new .make files in Src/Sys.
357
358added:
359  Src/Sys/atto-pgf95-openmpi.make
360  Src/Sys/intel10-openmpi.make
361  Src/Sys/intel11-openmpi.make
362  Src/Sys/nano-intel10-mvapich.make
363  Src/Sys/pgf95-pgimpi.make
364modified:
365  Src/Sys/nano-intel-mpi.make
366  Src/matrixop.F
367
368------------------------------------
369315 Alberto Garcia	  2010-11-12
370Remove calls to printmemory()
371
372The 'alloc' subsystem no longer calls the 'memory' accounting routine,
373so any information printed by 'printmemory' is misleading. The calls
374have now been commented out.
375
376modified:
377  Src/setup_H0.F
378  Src/siesta_end.F
379  Src/siesta_forces.F
380  Src/siesta_init.F
381  Src/siesta_move.F
382
383------------------------------------
384314 Alberto Garcia	  2010-10-29
385Disabled asynchronous grid communications by default
386
387* The asynchronous code in moremeshsubs.F introduced in revno 301
388gives wrong results for the forces in GGA calculations.  This code has
389been disabled by default, and should not be used until it is fixed. It
390can be enabled by defining
391
392ASYNCHRONOUS_GRID_COMMS
393
394at compile time.
395
396* Fixed a syntax bug in a BSC_CELLXC block in dhscf.F
397
398* Made grdsam into a module
399
400* Added a new test mgc-force, to quickly check forces with GGA
401
402added:
403  Tests/mgc-force/
404  Tests/mgc-force/makefile
405  Tests/mgc-force/mgc-force.fdf
406  Tests/mgc-force/mgc-force.pseudos
407modified:
408  Src/Makefile
409  Src/dhscf.F
410  Src/final_H_f_stress.F
411  Src/grdsam.F
412  Src/moremeshsubs.F
413  Tests/Makefile
414
415
416------------------------------------
417313 Alberto Garcia	  2010-10-25
418Fix fdf- and parse-related bugs in zmatrix processing
419
420There were two significant bugs in the read_zmatrix routine, caused
421by the switch to the new parsing framework:
422
423-- Routine fdf_bsearch was attempting to match whole tokens, when
424   the intent was simply to find substrings (as in 'mol', 'frac', etc)
425   The fix involves the creation of a new routine fdf_substring_search
426   which uses the 'index' intrinsic. An unwelcome side effect is that
427   the zmatrix keywords *have* to be written in lowercase.
428
429-- The matching mechanism for token class ('i', 'r', 'n', etc) was not
430   powerful enough to represent mixtures of real numbers and symbols, as
431   it is needed in a typical line of the zmatrix format. Thus new 'virtual'
432   token codes have been introduced:
433
434   'x' matches anything
435   's' matches i, r, or n
436   'j' matches i or n
437
438   These join 'v', which already stood for 'integer or real' ('value').
439
440Other minor bugs involved moving the block pointer when printing the
441line (now done printing pline%line directly) and not using '.not.' in
442a few logical tests.
443
444modified:
445  Src/fdf/fdf.F90
446  Src/fdf/parse.F90
447  Src/zmatrix.F
448
449------------------------------------
450312 Alberto Garcia	  2010-10-22
451Clarify file-name conventions in new fdf in reinit
452
453Change the name of the process-specific scratch files to
454a more meaningful 'fdf_input.XXX'.
455
456Note that these files could be made obsolete by a proper
457serialization-broadcast-deserialization of the new fdf data structure.
458
459------------------------------------
460311 Alberto Garcia	  2010-10-21
461Fixes: optical, pulay, cosmetics. BS energy, HSX file (--> trunk 361)
462
463*  Improved documentation of VDW-KBM functional
464
465  (J. Soler)
466
467  modified:
468    Docs/siesta.tex
469    Src/SiestaXC/atomxc.F90
470    Src/SiestaXC/cellxc.F90
471    Src/SiestaXC/siestaxc.F90
472    Src/SiestaXC/vdwxc.F90
473    Src/SiestaXC/xcmod.f90
474
475*  (Admin) Incorporate logs of recent patches from 3.0 branch
476
477  The siesta-3.0 branch can be considered as a sort of "bug-fix" branch
478  for "trunk". Hence, periodic merges are needed. This merges
479  have up to now been done in a "cherry-picking" manner, since 3.0
480  contains other material that is not supposed to go into trunk. This
481  has the unfortunate feature that the patch logs are not incorporated
482  into the trunk, and a "bzr missing" command will keep reporting
483  spurious differences.
484
485  The logs of all the recently applied patches, corresponding to 3.0
486  patches up to 3.0-rc2, have now been incorporated by doing a normal
487  merge followed by "bzr revert ." to remove all file changes (changes
488  already incorporated in local revnos from 349 up to this one).  This
489  has the effect of marking those patches in siesta-3.0 as "known" to
490  this branch, and will simplify the porting of future patches from the
491  3.0 branch. Note that the patch logs do not appear in "bzr log" unless
492  the "-n0" option is used. This is desirable, as a casual user might
493  find the output confusing.
494
495  Note that revno 355 in trunk already incorporated (without
496  explicit mention in the commit log, due to an oversight) the relevant
497  3.0 patches up to 3.0-rc1.
498
499*  Fixes for portability (pulay, MD rewind, reshape)
500
501  * In m_pulay, some compilers evaluated both sub-clauses of an "and"
502    expression, even if the first was .false.. This led to a division by
503    zero in a mod operation. The expression has been replaced by more
504    robust code.
505
506  * The MD file repositioning code in iomd.f gave problems in some
507    systems. It has been removed, and substituted by an explicit
508    'position="append"' clause in the open statement.
509
510  * In SiestaXC/mesh3d.F90, work around a gfortran bug in the reshape
511    intrinsic by specifying a zero lower bound. The bug only appears
512    if bounds checking is in effect.
513
514  modified:
515   Src/m_pulay.F90
516   Src/iomd.f
517   Src/SiestaXC/mesh3d.F90
518
519*  Cosmetic fixes (larger fields in atm files, vibra manual)
520
521  * Use larger output fields for atm diagnostic files
522
523  The atm program generates, among others, the files FOURIER_QMAX and
524  ECONF_DIFFS, which contain information useful for optimization
525  runs. The output fields were quite tight and sometimes
526  overflowed. They have beeen made larger.
527
528  modified:
529    Pseudo/atom/prdiff.f
530    Pseudo/atom/wrapup.f
531
532  * Clarify the meaning of the supercell options in the Vibra manual
533
534  New wording to make it clear that the supercell options refer
535  to the number of augmentation shells around the unit cell.
536
537  modified:
538    Util/Vibra/Docs/vibra.tex
539
540*  Compute and print band-structure energy. Updates to Util/COOP/mprop
541
542  * The band-structure energy Ebs = Tr(DM*H) is now computed at every
543    iteration and printed at the beginning and end of the SCF cycle, both
544    in the output file and in the CML file. The calculation is done in
545    compute_dm, so DM is the "output DM" from the diagonalization of H.
546
547  * The mprop program has been updated to output the integrated
548    band-structure energy as a function of energy as a third column in
549    the integrated-dos file. The " -n " option has been documented.
550
551  * Creation of Util/COOP/Docs, and addition of some notes on the units
552    and meaning of the COOP and COHP curves.
553
554  added:
555    Util/COOP/Docs/
556    Util/COOP/Docs/UnitsAndMeaningOfCurves.txt
557    Util/COOP/Tests/README
558  modified:
559    Src/Makefile
560    Src/compute_dm.F
561    Src/m_energies.F90
562    Src/write_subs.F
563    Util/COOP/README
564    Util/COOP/main_vars.f90
565    Util/COOP/mprop.f90
566    Util/COOP/subs.f90
567
568*  Make the HSX format the default for H,S files
569
570  The old HS format was highly inefficient, as each piece of data was
571  written to its own record. In addition, it only contained information
572  about the inter-orbital vectors Xij if k-points were used in the
573  calculation.
574
575  The new HSX file format was introduced at the time of the first
576  COOP/COHP implementation. It is more tightly packed, and the real
577  arrays (H, S, and Xij) are written in single-precision.
578
579  The HSX format is now the default in Siesta (TranSiesta has its own
580  format).
581
582  The programs hsx2hs and hs2hsx in Util/HSX are provided to facilitate
583  the transition. Note however that an HS file written by Siesta during
584  a Gamma-only calculation will not contain information about the
585  inter-orbital vectors Xij, and hs2hsx will refuse to create an HSX
586  file from it.
587
588  See Util/HSX/README for more details.
589
590  The file iohs.F has been moved to Util/HSX from the main source
591  directory.
592
593  added:
594    Util/HSX/hs2hsx.f90
595    Util/HSX/hsx2hs.f90
596    Util/HSX/makefile
597  renamed:
598    Src/iohs.F => Util/HSX/iohs.F
599  modified:
600    Docs/siesta.tex
601    Src/Makefile
602    Src/setup_hamiltonian.F
603    Util/HSX/README
604    Util/HSX/hsx_m.f90
605
606*  Hook to output the initial charge density
607
608  If the fdf variable SaveInitialChargeDensity is "true", the program
609  generates a RHO_INIT (and a RhoInit.grid.nc file if netCDF is compiled
610  in) containing the charge density used to start the first
611  self-consistency step, and it stops. Note that if an initial density
612  matrix (DM file) is used, it is not normalized. This is useful to
613  generate the charge density associated to "partial" DMs.
614
615  modified:
616    Docs/siesta.tex
617    Src/dhscf.F
618    Src/setup_hamiltonian.F
619    Src/siesta_options.F90
620
621*  Fixes and new functionality in Pulay mixing
622
623  * The "kick" functionality intended to "shake" periodically the Pulay
624  mixing procedure was incorrectly implemented. This has now been fixed,
625  with the added feature that the Pulay history is completely reset
626  after a kick.
627
628  * Additionally, support has been added to specify whether the first
629  density-matrix residual of the SCF cycle and the first residual after
630  a kick are included in the Pulay history. It can be argued that in
631  these cases the "output" DM might be significantly different from the
632  "input" DM. To preserve backwards compatibility, these residuals are
633  kept in the Pulay history unless the fdf variable
634
635        DM.Pulay.Avoid.First.After.Kick
636
637  is set to "true" in the input file.
638
639  * The above changes have forced a temporary disabling of the "Pulay on
640    file" feature, which will be re-implemented in a form that works
641    well in parallel.
642
643  * Updated the manual.
644
645  (A. Garcia)
646
647  renamed:
648    Src/m_pulay.F => Src/m_pulay.F90
649  modified:
650    Src/mixer.F
651    Src/siesta_options.F90
652    Src/m_pulay.F90
653    Docs/siesta.tex
654
655*  Fixes and improvements in the optical spectra code
656
657  * Fixed a bug in optical.F: the call to subroutine kgridinit nwas
658    causing problems and providing results that were not compatible any
659    longer with those of subroutine kgrid.
660
661  * Modified call to subroutine transition_rate: wmin and wmax passed to
662    subroutine so that only the relevant transition probabilities are
663    explicitly calculated.
664
665  * Added a new test (Tests/si-optical) to exercise the optical code.
666
667  (Daniel Sanchez Portal)
668
669  added:
670    Tests/Reference-xml/si-optical.xml
671    Tests/Reference/si-optical.out
672    Tests/si-optical/
673    Tests/si-optical/makefile
674    Tests/si-optical/si-optical.fdf
675    Tests/si-optical/si-optical.pseudos
676  modified:
677    Docs/CHANGES
678    Src/optical.F
679    Src/transition_rate.F
680
681
682------------------------------------
683310 Alberto Garcia	  2010-10-20
684Updates and fixes to the TranSiesta/tbtrans code (--> trunk-352)
685
686  This patch includes bug fixes (in TranSiesta and tbtrans), a cleanup
687  involving removal of dead code, proper declarations of variables, and
688  a new prototype test framework for TranSiesta and tbtrans.
689
690  1. Fixed the issues related to the density matrix in a TS run, due to the
691  changes in new_dm.F
692
693  * The new module m_ts_iodm.F is the equivalent of m_iodm.F, created to
694  handle .TSDE files. These, are just like .DM files but where the Escf
695  sparse matrix and the Fermi Energy are written at the end of the
696  file. The makefile was modified in order to include this module.
697
698  * The new_dm module now has a cleaner Transiesta related structure.
699  The possibility of doing a "continuation run" (where a .TSDE file is
700  read and the run starts with a TS calculated density matrix), is
701  handled by calling the routine read_dynamic_ts_dm.  Since Transiesta
702  also stores and reads Escf, the variable EDM_tmp has been created and
703  is used in the same way as D_tmp.  The routine change_sparsity is also
704  used for Escf. But these parts of the code have not been tested yet,
705  since it would require a change in the sparsity., by atomic
706  rearrangements.
707
708
709  added:
710    Src/m_ts_iodm.F
711  modified:
712    Src/Makefile
713    Src/new_dm.F
714
715
716  2. Changed the way mixH or mixDM are internally handled. Added a
717  global_vars module.
718
719  * Created the module m_ts_global_vars.f90 that contains the TS
720  variables that are accessed in different parts of the code and are not
721  passed as dummy arguments.
722
723  * Considerable changes were made in the way the possibility of mixing
724  either the density matrix or the hamiltonian is handled internally.
725  The VIn and VOut pointers are still used, but now, instead of
726  allocating some memory and copying the values of Dscf (H) to them,
727  they directly point to either the Dscf and Dold matrices OR to H and
728  HOld. The latter vector is allocated only whe mixH=.true., and this
729  implies that in this case more memory will be required since Dold is
730  also allocated because it is used in other parts of the code.  In any
731  case, this leads to a smaller amount of allocated memory. The coding
732  is clearer also, specially at the siesta_forces routine.
733
734
735  added:
736    Src/m_ts_global_vars.f90
737  modified:
738    Src/Makefile
739    Src/compute_dm.F
740    Src/dhscf.F
741    Src/m_ts_iodm.F
742    Src/m_ts_options.F90
743    Src/mixer.F
744    Src/new_dm.F
745    Src/scfconvergence_test.F
746    Src/setup_hamiltonian.F
747    Src/siesta_forces.F
748    Src/state_init.F
749    Src/write_subs.F
750
751  3. Cleaning of m_ts modules; set grid variables to be defined with
752  grid_p; and smaller changes.
753
754  * Removed unused variables and dummy arguments (all m_ts modules).
755  Also specified what is used from each module with the idiom "use
756  MODULE, only:"
757
758  * For the TSVHFix and TSvoltage2 subroutines (m_ts_in_siesta.F90
759  module), fixed the precision of the "v" variable (real space
760  potential) to be grid_p.
761
762  * The following cosmetic declaration changes were made:
763
764  real*8 --> real(dp)
765  complex*16 --> complex(dp)
766  double precision --> real(dp)
767
768  where "dp" comes from the precision module.
769
770  * IOnode was incorrectly set to be node=1, now it is node=0
771    (m_ts_in_siesta.F)
772
773  * Removed the initH variable from several routines. (new_dm,
774  scfconvergence_test, setup_hamiltonian,siesta_forces)
775
776
777  modified:
778    Src/compute_dm.F
779    Src/m_ts_contour.F
780    Src/m_ts_electrode.F90
781    Src/m_ts_in_siesta.F
782    Src/m_ts_io.F90
783    Src/m_ts_options.F90
784    Src/m_ts_scattering.F
785    Src/new_dm.F
786    Src/scfconvergence_test.F
787    Src/setup_hamiltonian.F
788    Src/siesta_forces.F
789
790  4. Assortment of changes/fixes in TBTrans.
791
792  * The original version of TBTrans (by M. Brandbyge) was not
793  parallelized.  Some of the original properties computed by tbtrans
794  (the transmission function and the pdos) have been "ported" to work
795  also in the parallelized version of the code, but some have not. Those
796  who have not, have been, for now, deleted (atompdos, coop and NetCDF
797  related things).
798
799  * The transmission function is now multiplied by two in the
800  case of non spin-polarized calculations. As a consequence, the
801  computed current is multiplied too.
802
803  * The printed value of the pdos (averaged over all the k-points), when
804  running in parallel with more than one node, was not correct: only the values
805  coming from the node=0 were being printed. This has been fixed.
806
807  * Some smaller changes were done on the way the results are written in the output
808  files (e.g. including blank lines in between values for each k-point, so that
809  the file can be directly plotted with xmgrace).  Also changed the name of the
810  routine "Tsiokp" (m_tbt_kpoints.F90) to "get_kp_on_node" since it represents
811  better what it really does.
812
813  removed:
814    Util/TBTrans/atompdos.F
815    Util/TBTrans/coop.f
816    Util/TBTrans/OutputRegionData.F
817    Util/TBTrans/OutputRegionData.NoLowdin.F
818    Util/TBTrans/netcdfwrite.F
819  modified:
820    Util/TBTrans/Makefile
821    Util/TBTrans/m_tbt_gf.F90
822    Util/TBTrans/m_tbt_kpts.F90
823    Util/TBTrans/m_tbt_options.F90
824    Util/TBTrans/tbtrans.F
825
826  5. Created a test directory (ts_fast) to test TranSIESTA and
827  TBTrans. (F.D.Novaes/A.Garcia)
828
829  * An automatic test for transiesta and tbtrans can be run by going to
830  the $OBJDIR/Tests directory, and typing:
831
832    make ts
833
834  and to clean:
835
836    make clean_ts
837
838  For now, only the tests contained in the ts_fast directory will be
839  executed, and more tests with similar structure will be added in the
840  near future.  The script first runs the electrode calculation, then
841  the scattering region calculation and finally tbtrans. If during any
842  of these steps there is an error message sent to stderr, the script
843  will stop and the following step will not start. The error message is
844  printed to an output file (err_elec.out or err_scat.out or
845  err_tbt.out). It only creates the "completed" file if it reaches the
846  end.
847
848  Parallel compilations can be tested by changing to the ts_fast directory
849  and (for example) typing:
850
851    make TS="/opt/openmpi.gcc.gfortran/bin/mpirun -np 2 ../../../transiesta"
852
853  By default, tbtrans will be (re)compiled using the arch.make located
854  in the $OBJDIR.  To use an already compiled version of tbtrans (again,
855  inside the ts_fast directory) type:
856
857    make TBT=/some/path/to/tbtrans
858
859  NOTE: Since the compilation of tbtrans is automatic and unattended,
860  you will need to specify in your arch.make the linear algebra libraries
861  needed for tbtrans in your system. For example:
862
863    TBTRANS_LINALG=linalg.a # Or maybe only: zgeev_lapack.a zgesv_lapack.a
864
865  * The functionality for the TS tests is kept in the new file scrip_ts.mk.
866
867  added:
868    Tests/script_ts.mk
869    Tests/ts_fast/
870    Tests/ts_fast/H.psf
871    Tests/ts_fast/elec.fast.fdf
872    Tests/ts_fast/makefile
873    Tests/ts_fast/scat.fast.fdf
874    Tests/ts_fast/script.sh
875  modified:
876    Tests/Makefile
877
878------------------------------------
879309 Alberto Garcia	  2010-10-20
880Assorted fixes: cxa in InitAtomMesh, target stress, ...  (--> trunk-351)
881
882* Fix for out-of-box atoms in meshsubs
883
884  In InitAtomMesh, during the calculation of the relative position of an
885  atom with respect to the grid, make sure we consider the equivalent
886  position inside the cell, even if the atom is outside.
887
888  (Possible problem detected by P. Ordejon, fixed by J. Soler)
889
890  modified:
891    Src/initatommesh.F
892
893* Port several small patches from 3.0 branch up to 3.0-rc2
894
895  * Fix initialization of target_stress in some cell-only relaxations
896
897  When using the RelaxCellOnly option in tandem with Broyden relaxation,
898  the target stress was not properly initialized.
899
900  (Thanks to Marcos Verissimo Alves for pointing out the bug and fix)
901
902    modified:
903      Src/cell_broyden_optim.F
904
905  * Print value of dipole if applying correcting field
906
907  If the SlabDipoleCorrection option is active, print the computed
908  value of the total system dipole at every iteration, to help
909  diagnose possible problems.
910
911  Added note in the manual warning about the use of non-corrected
912  density matrices with this option.
913
914    modified:
915      Src/Makefile
916      Src/dhscf.F
917      Docs/siesta.tex
918      Src/m_efield.F
919
920  * Correction of error in siesta.tex (as discovered by J. Junquera)
921
922  The FDF labels DM.Energy.Tolerance and DM.Harris.Tolerance
923  were wrongly stated as "real" instead of "real energy", and their
924  default value stated with no units when its units are eV.
925
926    modified:
927      Docs/siesta.tex
928
929------------------------------------
930308 Alberto Garcia	  2010-10-20
931Tentative fix for DM reuse bug (--> trunk-349)
932
933In some cases the re-use of the DM after a geometry change led to
934large values of ddmax and instabilities in SCF convergence. The
935tentative cause was the re-allocation of Dscf right after the call to
936hsparse for the new geometry, and before new_dm, combined with a
937"sparsity pattern change" in-place. When the re-allocation is deferred
938to new_dm, and the plain "change_sparsity" routine is used, the
939problem seems to disappear.
940
941Thanks to Oswaldo Dieguez for his sleuthing work.
942
943More testing is needed to close the bug definitively.
944
945Modified:
946  Src/Makefile
947  Src/new_dm.F
948  Src/state_init.F
949
950------------------------------------
951307 Alberto Garcia	  2010-10-20
952New FoX version, new vdw symbols, assorted fixes (--> trunk-348)
953
954*  Use DEBUG_XC preprocessor symbol to wrap SiestaXC debugging (J. Gale)
955
956   * Comments wrapped by ! DEBUG in several SiestaXC routines (and in
957     related sections of siesta_init and siesta_end) have been replaced
958     by #ifdef DEBUG_XC ... #endif so that the writing of debugging files
959     can be turned off easily at compile time.
960
961     Note that this has forced the change in file extension of a few
962     files in Src/SiestaXC, with concommitant changes in the makefiles.
963
964  renamed:
965    Src/SiestaXC/atomxc.f90 => Src/SiestaXC/atomxc.F90
966    Src/SiestaXC/cellxc.f90 => Src/SiestaXC/cellxc.F90
967    Src/SiestaXC/fft3d.f90 => Src/SiestaXC/fft3d.F90
968    Src/SiestaXC/fftr.f90 => Src/SiestaXC/fftr.F90
969    Src/SiestaXC/siestaxc.f90 => Src/SiestaXC/siestaxc.F90
970    Src/SiestaXC/vdwxc.f90 => Src/SiestaXC/vdwxc.F90
971  modified:
972    Src/SiestaXC/lib-arch.make
973    Src/SiestaXC/lib-makefile
974    Src/SiestaXC/makefile
975    Src/SiestaXC/mesh3d.F90
976    Src/siesta_end.F
977    Src/siesta_init.F
978    Src/SiestaXC/atomxc.F90
979    Src/SiestaXC/cellxc.F90
980    Src/SiestaXC/fft3d.F90
981    Src/SiestaXC/fftr.F90
982    Src/SiestaXC/siestaxc.F90
983    Src/SiestaXC/vdwxc.F90
984
985*  Make sure that units are closed with io_close (J. Gale)
986
987   * 'Close' replaced by call to 'io_close' in several routines to
988     prevent luns overload.
989
990   * Unused declarations of io_assign and io_close removed from diagon.F
991     and ksv.f
992
993   (Julian Gale)
994
995   modified:
996     Src/diagon.F
997     Src/ksv.f
998     Src/m_timer.F90
999     Src/moreParallelSubs.F90
1000     Src/write_orb_indx.f90
1001
1002*  Support for LMKLL and KBM vdW functionals in ATOM (A. Garcia)
1003
1004   The pseudopotential generation program now accepts the "vl" xc code to
1005   request the Lee et al. (LMKLL) version of the vdW functional
1006   (arXiv:1003.5255v1 (2010)), and the "vk" xc code for the vdW
1007   parametrization of Klimes et al. (KBM) (JPCM 22, 022201 (2009)).
1008
1009   The id strings in .xml pseudo files are, respectively,
1010   'Lee-et-al--LMKLL', and 'Klimes-et-al--KBM'. For consistency, the id
1011   string for the Dion functional has been extended to
1012   'Dion-et-al--DRSLL'
1013
1014   The ATOM manual has been updated, and the version number set to
1015   3.3.1.
1016
1017   Obsolete xc routines (pre-SiestaXC) have been removed from the
1018   Pseudo/atom directory.
1019
1020  removed:
1021    Pseudo/atom/blypxc.f
1022    Pseudo/atom/ggaxc.f
1023    Pseudo/atom/ldaxc.f
1024    Pseudo/atom/pw92xc.f
1025    Pseudo/atom/pzxc.f
1026    Pseudo/atom/revpbexc.f
1027    Pseudo/atom/rpbexc.f
1028  modified:
1029    Docs/CHANGES
1030    Pseudo/atom/Docs/atom.tex
1031    Pseudo/atom/Makefile
1032    Pseudo/atom/pseudoXML.f
1033    Pseudo/atom/velect.f
1034    version.info
1035
1036*  Updated makefile dependencies (J. M. Soler)
1037
1038  modified:
1039    Src/Makefile
1040    Src/SiestaXC/makefile
1041
1042*  Added parametrization of Klimes et al for vdW-DF (J. M. Soler)
1043
1044  modified:
1045      Docs/siesta.tex                  ! Added VDW/KBM
1046      Src/SiestaXC/Testers/test1.f90   ! Call to B88 GGA exchange
1047      Src/SiestaXC/atomxc.f90          ! Added VDW/KBM comment
1048      Src/SiestaXC/cellxc.f90          ! Added VDW/KBM comment
1049      Src/SiestaXC/ggaxc.f             ! Added Becke-88 exchange routine
1050      Src/SiestaXC/siestaxc.f90        ! Added VDW/KBM comment
1051      Src/SiestaXC/vdwxc.f90           ! Call to B88 exchange
1052      Src/SiestaXC/xcmod.f90           ! Call to vdw_set_author for KBM
1053
1054*  Documentation completed on LMKLL flavour of vdW-DF (J. M. Soler)
1055
1056  modified:
1057    Docs/siesta.tex
1058    Src/SiestaXC/siestaxc.f90
1059    Src/SiestaXC/vdwxc.f90
1060
1061*  A bug corrected in testers (J. M. Soler)
1062
1063  modified:
1064      Src/SiestaXC/Testers/test2.f90  ! Avoid using DRSLL & LMKLL together
1065      Src/SiestaXC/Testers/test3.F90
1066      Src/SiestaXC/Testers/test4.F90
1067
1068*  Added the vdW functional flavour of K.Lee et al, arXiv:1003.5255v1 (2010) (J.M. Soler)
1069
1070  modified:
1071      Src/SiestaXC/Testers/test1.f90  ! Added PW86
1072      Src/SiestaXC/Testers/test2.f90  ! Added VDW/LMKLL
1073      Src/SiestaXC/Testers/test3.F90  ! Added VDW/LMKLL
1074      Src/SiestaXC/Testers/test4.F90  ! Added VDW/LMKLL
1075      Src/SiestaXC/atomxc.f90         ! Call to vdw_exchng
1076      Src/SiestaXC/cellxc.f90         ! Call to vdw_exchng
1077      Src/SiestaXC/ggaxc.f            ! Added PW86 and PW86R exchange functionals
1078      Src/SiestaXC/vdwxc.f90          ! Added vdw_exchng and vdw_set_author
1079      Src/SiestaXC/xcmod.f90          ! Call to vdw_set_author
1080
1081*  Update FoX to version 4.1.0 (A. Walker)
1082
1083    Version 4.1.0 of FoX, used to produce our XML output was released
1084    on 2010-02-09. This patch updates the version shipped with Siesta
1085    to this version.
1086
1087    Changes that affect Siesta are that the build process for FoX can
1088    now take advantage of possible parallelization (make -j), we can
1089    ask FoX to generate an abort signal if it kills the process and
1090    the inclusion of work arounds for compiler bugs in recent versions
1091    of the pgi compiler. Some of these changes existed in an (unrelased)
1092    version of FoX shipped with Siesta since revision 320.
1093
1094    modified:
1095        Src/FoX/FoX-config.in
1096        Src/FoX/LICENSE
1097        Src/FoX/Makefile
1098        Src/FoX/common/FoX_common.F90
1099        Src/FoX/configure
1100        Src/FoX/wxml/FoX_wxml.f90
1101        Src/FoX/wxml/m_wxml_core.F90
1102        version.info
1103
1104------------------------------------
1105306 Alberto Garcia	  2010-10-20
1106Avoid extrapolation of DM during geometry optimization (--> trunk-339)
1107
1108  When performing a geometry optimization (CG, Broyden, etc) (idyn=0 in
1109  the code), there might be sudden jumps in the geometry (e.g., at the
1110  end of a line-minimization) that render a extrapolation of the DM
1111  risky. Hence DM extrapolation is turned off in this case.
1112
1113  One might argue that DM re-use should be avoided too.
1114
1115  For "CG" (idyn==0) calculations, the default is not to extrapolate
1116  the DM (unless requested by explicitly setting
1117  'DM.AllowExtrapolation' to "true"). The previous step's DM is reused.
1118
1119  modified:
1120    Docs/siesta.tex
1121    Src/new_dm.F
1122
1123
1124------------------------------------
1125305 Alberto Garcia	  2010-10-20
1126Assorted fixes, info on orbital indexes, vacuum level (--> trunk-337)
1127
1128* Small fixes (J.M. Soler)
1129
1130    modified:
1131      Src/SiestaXC/debugxc.f90   ! Corrected file name in closeDebugOutputFile
1132      Src/SiestaXC/ggaxc.f       ! Added spin bounds in array copy
1133      Src/SiestaXC/mesh3d.F90    ! Added several checks for range of iDistr
1134      Src/fermid.F               ! Removed a duplicated printout
1135
1136*  Corrected call to MPI_AllReduce in SiestaXC/Testers/test4.F90 (J.M. Soler)
1137
1138    modified:
1139      Src/SiestaXC/Testers/test1.f90  ! Increased number of densities tried
1140      Src/SiestaXC/Testers/test4.F90  ! Corrected call to MPI_AllReduce
1141
1142*  MPI_grid_real kind adapted to new standard (J.M. Soler)
1143
1144    modified:
1145      Src/MPI/mpi.F   ! MPI_grid_real=DAT_double unless def GRID_SP
1146
1147*  A bug corrected by J.D.Gale in the am05 functional (J.M. Soler)
1148
1149    modified:
1150      Src/SiestaXC/Testers/makefile   ! Copy ../*.mod
1151      Src/SiestaXC/am05.f90           ! Bug corrected
1152      Src/SiestaXC/ggaxc.f            ! Corrected call to am05wbs
1153
1154*  Two minor bugs in SiestaXC
1155
1156    modified:
1157      Src/SiestaXC/Testers/test3.F90  ! Add MPI_Finalize
1158      Src/SiestaXC/Testers/test4.F90  ! Add MPI_Finalize
1159      Src/SiestaXC/lib-makefile       ! Add am05.o
1160
1161*  Include AM05 functional in SiestaXC/Testers (J.M. Soler)
1162
1163    The recently-added AM05 functional has been added to those tested by the
1164    SiestaXC/Testers.
1165
1166    modified:
1167      Src/SiestaXC/Testers/test1.f90
1168      Src/SiestaXC/Testers/test2.f90
1169      Src/SiestaXC/Testers/test3.F90
1170      Src/SiestaXC/Testers/test4.F90
1171
1172*   Two mesh-related bugs (From J.M.Soler)
1173
1174    In routine phiOnMesh, function 'size' was used with unassociated pointers.
1175    This is a bug, although most compilers tolerate it. Unrelated to this,
1176    in routine divideBox1D, the limits of the first and last boxes was not
1177    correctly initialized.
1178
1179    modified:
1180      Src/SiestaXC/mesh3d.F90  ! Initialize partBox(1,1) and partBox(2,nParts)
1181      Src/meshsubs.F           ! Check pointer associations
1182
1183*   Bug correction in mesh3d (From J.M.Soler)
1184
1185    A case not taken care of, in routine sameMeshDistr, created an
1186    out-of-bounds condition that was noticed by J.D.Gale and others.
1187    Also, a use statement was added for MPI routines in m_mpi_utils.
1188
1189    modified:
1190      Src/SiestaXC/mesh3d.F90  ! Bug corrected in sameMeshDistr
1191      Src/m_mpi_utils.F        ! Added use statement for MPI routines
1192      Src/meshsubs.F           ! Variable JDGdistr saved and initialized
1193
1194*   Print vacuum level(From J.M.Soler)
1195
1196    The vacuum level, defined as the effective potential at grid points with
1197    zero density, is printed in the standard output. This is done whenever
1198    there are such points and either SaveElectrostaticPotential or
1199    SaveTotalPotential are true. This will be useful to calculate the work
1200    function of a surface.
1201
1202    added:
1203      Src/vacuum_level.f90      ! Computes the vacuum level
1204    modified:
1205      Docs/siesta.tex           ! Document side effect of SaveTotalPotential
1206      Src/Makefile              ! Add vacuum_level.o. Update dependencies
1207      Src/dhscf.F               ! Call vacuum_level and print it
1208      Src/moreParallelSubs.F90  ! Make public miscAllReduceInt
1209
1210*   New GGA functionals with PBE form and parameters from Capelle et al (J.M. Soler)
1211
1212    The four new functionals, with author labels PBE(JsJrLO), PBE(JsJrHEG),
1213    PBE(GcGxLO), and PBE(GcGxHGE), have the PBE functional form, but use
1214    modified values for parameters beta, mu, and kappa.
1215    Refs: L.S.Pedroza et al, PRB 79, 201106 (2009)
1216          M.M.Odashima et al, J. Chem. Theory Comp. 5, 798 (2009)
1217
1218    modified:
1219      Src/SiestaXC/ggaxc.f     ! New functionals implemented
1220      Src/SiestaXC/xcmod.f90   ! Increased length for XCfunc and XCauth strings
1221      Src/atom.f               ! Let xc_check continue even if func. not known
1222      Src/read_xc_info.F       ! Increased length for XCfunc and XCauth strings
1223
1224*   Write orbital indexes  (From J.M.Soler)
1225
1226    To assist users in interpreting files like (label).DM and (label).HS, a new
1227    file called (label).ORB_INDX is written with info on the orbital index order.
1228
1229    added:
1230      Src/write_orb_indx.f90   ! Writes (label).ORB_INDX
1231
1232    modified:
1233      Src/Makefile             ! Added write_orb_indx.o + Dependencies updated
1234      Src/atmfuncs.f           ! Orbital symmetry names completed up to g orbitals
1235      Src/compute_dm.F         ! Added call to write_orb_indx
1236      Docs/siesta.tex          ! Docs
1237
1238*  Name of functional updated in AM05XC to correctly be AM05 (From J. Gale)
1239
1240  modified:
1241    Src/SiestaXC/ggaxc.f
1242
1243* Make preprocessor blocks for BSC_CELLXC more concise in dhscf.F (A.G.)
1244
1245
1246
1247
1248------------------------------------
1249304 Alberto Garcia	  2010-10-20
1250Changes to the default precision of grid magnitudes (-->trunk-322)
1251
1252The grid functions (charge densities, potentials, etc) are now in
1253double precision by default. The 'phi' array that holds the values of
1254the basis orbitals on the real-space grid is kept in single precision.
1255
1256The following pre-processing symbols at compile time control the
1257precision selection:
1258
1259#ifdef GRID_SP
1260    integer, parameter :: grid_p = sp
1261    integer, parameter :: phi_grid_p = sp
1262#elif defined(GRID_DP)
1263    integer, parameter :: grid_p = dp
1264    integer, parameter :: phi_grid_p = dp
1265#else
1266    integer, parameter :: grid_p = dp
1267    integer, parameter :: phi_grid_p = sp
1268#endif
1269
1270GRID_DP will lead to a sizable memory increase, as 'phi' is the main
1271user of memory on the grid. On the other hand, the gains in accuracy
1272are negligible, as the operations over 'phi' are accumulated in double
1273precision variables.
1274
1275GRID_SP recovers the old Siesta default. It will not free much
1276memory, and it will show some numerical differences.
1277
1278modified:
1279  Docs/siesta.ind
1280  Docs/siesta.tex
1281  Src/meshsubs.F
1282  Src/precision.F
1283
1284
1285
1286------------------------------------
1287303 Alberto Garcia	  2010-10-19
1288Merged some precision changes in m_ts* modules
1289
1290* R. Grima had already fixed the precision of the "v" variable (real
1291  space potential) to be grid_p in the TSVHFix and TSvoltage2
1292  subroutines (m_ts_in_siesta.F90 module).
1293
1294* F.D. Novaes had made more cosmetic changes to declarations, which
1295  have been merged from the trunk:
1296
1297    real*8 --> real(dp)
1298    complex*16 --> complex(dp)
1299    double precision --> real(dp)
1300
1301* The argument list of routine "transiesta" has been shortened.
1302
1303------------------------------------
1304302 Alberto Garcia	  2010-10-18
1305Merge of SiestaXC + timer, alloc, FoX, fixes --> trunk-320
1306
1307* New siestaXC library including van der Waals functional
1308
1309Implementation of the non local van der Waals density functional
1310of Dion et al (PRL 92, 246401 (2004), PRL 103, 096102 (2009)).
1311
1312All the exchange-correlation routines have been placed in a library
1313called siestaXC, whose unique entry point is module m_siestaxc. The
1314sources are in subdirectory Src/SiestaXC, whose makefile allows to
1315create a self-contained distribution in file siestaXC.tgz, that can
1316be used in programs other than siesta. The library sources that are
1317used by siesta also outside the library (like alloc.F90) remain in
1318Src, and are copied by SiestaXC/makefile into siestaXC.tgz.
1319
1320The library is used to compile siesta itself, with a scheme similar
1321to that used for MPI, fdf and FoX. Pseudo/atom has been also adapted
1322to use the siestaXC library.
1323
1324The implementation of the non local van der Waals density functional
1325has led to a whole rewritting of cellxc and a major one of atomxc.
1326File xc has been splitted in m_atomxc, m_ldaxc, and m_ggaxc, which
1327are now modules. The VDW-specific routines are in module m_vdwxc.
1328
1329The new parallelization of cellxc has led to several new modules, of
1330which mesh3d is the largest one. It allows new distributions of mesh
1331points among processors, that can change dynamically. Other relevant
1332modules are fftr, for 3-D FFTs of real functions. fft3d has changed
1333to allow (complex) 3-D FFTs using the new distributions of mesh points.
1334Module mesh1d provides radial (1-D) mesh utilities. Module m_debugXC
1335writes reports debugXC.node$$ with details of mesh distributions.
1336
1337NOTE: The BSC version of cellxc (including its unique "LINEAR" parallel
1338distribution) has been kept in the code, and it is enabled at compile
1339time by defining the BSC_CELLXC pre-processor symbol.
1340
1341(Jose Soler (UAM), with help by Alberto Garcia (ICMAB), Rogeli Grima
1342(BSC) , and Jose Maria Cela (BSC))
1343
1344* The new m_timer module, together with changes in MPI/mpi_siesta, allows
1345the profiling of MPI communication times, for each routine that calls
1346timer, after compiling with -DMPI_TIMING. Routine timer itself remains
1347external, but it uses m_timer operationally.
1348
1349* The full accounting and reporting of allocated arrays is now done in
1350module alloc, and printed in (SystemLabel).alloc. The old 'memory'
1351routine now passes information to alloc for this accounting, rather
1352than the other way around. Therefore, the 'total' allocation sizes
1353given by memory routine are no longer complete, though they are still
1354printed.
1355
1356* Incorporate some of J. Soler's documentation and conciseness changes
1357  to meshsubs (but note that the distribution of the indexp array had
1358  already been implemented separately by Rogeli Grima).
1359
1360* Partially merged J. Soler's changes for a correct accounting of
1361array allocation. Both the 'name' and 'routine' arguments should be
1362identical (including case sensitivity) in the corresponding calls to
1363re_alloc and de_alloc of an array.  The two arguments are combined
1364into an internal name as trim(routine)//' '//name, so that
1365(name='rho',routine='dhscf') is equivalent to (name='dhscf rho'). This
1366is the name printed in the allocation report. NOTE: Rogeli Grima had
1367been making similar changes. To avoid a painful merging, most of the
1368detailed changes by J. Soler have been temporarily left out, pending
1369another review.
1370
1371* The (mainly obsolete) 'nodes' option for basis orbital generation was
1372producing orbitals with one excess radial node (i.e. one and two nodes
1373for double zeta, instead of zero and one node). Corrected.
1374
1375* Clarification of the use of *_last geometry information (A. Garcia)
1376
1377The variables xa_last (formerly xalast), ucell_last, and scell_last
1378are used to hold the information related to the last geometry for
1379which the electronic structure has been computed. This is necessary
1380since the "siesta_move" routine updates the geometry after every step.
1381By using the "*_last" variables instead of "xa", "ucell", and "scell",
1382we make sure that "siesta_analysis", when calculating the
1383polarization, optical properties, etc, uses the coordinates actually
1384used to compute the electronic structure.
1385
1386The *_last variables are set at the beginning of "siesta_move", before
1387the actual displacements. Due to a bug in the program, however, this
1388was being done only at the final scheduled step ('fincoor'), instead
1389of inconditionally after every step. Thus they could be used undefined
1390if, for example, a relaxation finishes before the scheduled number of
1391steps (which is typical).
1392
1393While fixing this bug, it became apparent that some other sections of
1394"siesta_analysis" are using the "predicted" coordinates (the output of
1395coordinates in various formats) instead of the last "used"
1396coordinates. This can be considered a feature or a bug.
1397
1398Similarly, the computation of the spin polarization uses a density
1399matrix that is actually the result of a mixing after the last SCF
1400step.
1401
1402(Fix prepared by A. Garcia after the discovery of the bug by J. Gale)
1403
1404* Support for the Armiento and Mattson's  functional added (From J. Gale)
1405
1406Support for the AM05 functional has been added to routines in SiestaXC
1407and Pseudo. This is done using the AM05 subroutines distributed by
1408Armiento and Mattson, under the terms of the conditions contained within
1409the header to their software allowing modification and redistribution
1410provider the original copyright header remains.
1411
1412A new module, am05, contained within the file SiestaXC/am05.f90, has been
1413added containing the code from Armiento and Mattsson. Within ggaxc.f90
1414a wrapper has been added, am05xc, to pass the variables from ggaxc to
1415am05 subroutines and handle the return arguments appropriately.
1416
1417In the atom program the two-letter symbol "am" has been added for AM05.
1418In SIESTA the GGA Authors are "AM05".
1419
1420A test of the AM05 functional added in h2o_am05.
1421
1422* Add support for PBESol XC functional (J. Gale)
1423
1424* Update FoX library and add XML.AbortOnErrors and XML.AbortOnWarnings
1425  (From A. Walker)
1426
1427It is sometimes useful for warnings or errors generated by the FoX
1428libary to result in an abort to generate a core dump or stack trace to
1429see where in Siesta the call causing the error is being made. It is
1430now possible to turn on this behaviour at runtime using two new fdf
1431boolean tags:
1432
1433 XML.AbortOnErrors  XML.AbortOnWarnings
1434
1435Both are boolean and default to .false. (which mirrors the current
1436stopping behaviour).
1437
1438These features have been made possible by an update in the FoX library
1439that adds an interface to allow errors and warnings to result in an
1440abort signal. In the update there is also a fix to work around a PGI
1441bug for the overloaded wxml interfaces (aparently not used in Siesta)
1442and a change to the prng to avoid using initalised data in prng_init.
1443
1444* Other fixes:
1445
1446Pass FPP_FLAGS to MPI makefile (for MPI_TIMINGS)
1447Fix intent of g2max in dhscf. Put vmat in a module
1448Wrap output in timer when MPI_TIMINGS is off
1449Use (possibly empty) array section of eold in call.
1450Fix array actual arguments in ambiguous interfaces
1451
1452------------------------------------
1453301 Alberto Garcia	  2010-09-30
1454Fine-tuning of grid load-balancing and communications
1455
1456(By Rogeli Grima)
1457
1458* The load heuristics for the quadratic and "linear" distributions have
1459been changed to take into account the fact that "vacuum" points do
1460take some processing time.
1461
1462* To alleviate communication bottlenecks while changing distributions,
1463asynchronous mpi sends and receives are used. This means that special
1464buffers have to be allocated. Asynchronous communications are used by
1465default, unless the SYNCHRONOUS preprocessor variable is set at compile
1466time.
1467
1468* Other relevant changes:
1469
1470  -- Use eight-byte integers for memory counters
1471  -- Insertion of some trace markers, with extra mpi barriers, in
1472     a few places.
1473
1474This version still contains code to implement prototype
1475Jacobi-Davidson iterative diagonalization (with and without the use of
1476the SLEPC library).
1477
1478Detail of changes (most relevant):
1479
1480dhscf:        removal of debugging and some timing sections. Other cosmetics.
1481alloc:        better name handling for memory accounting
1482memory:       use 8-byte integers for counters.
1483memoryinfo:   use 8-byte integers for counters.
1484cellxc:       insert trace markers
1485compute_dm:   remove debug sections related to slepc.
1486diagon:       add debug markers
1487
1488distriphionmesh: change load heuristics for the quadratic and "linear"
1489                 distributions. Allocate asynchronous-comms buffers.
1490fft3d:        use timing
1491initmesh:     make ntp into an 8-byte integer.
1492initparallel: add debug sections.
1493mneighb:      use timing
1494
1495moremeshsubs: add support for asynchronous communications. Rename
1496              meshDistr variable to distr.
1497poison:       better declaration of variables. Traces (barriers?)
1498rhoofd:       turn into .F file to add MPI barriers for traces.
1499siesta_cmlsubs: avoid the use of 'str' from FoX.
1500siesta_forces:  use mpi_finalize directly instead of "bye" if 'h_setup_only'.
1501siesta_init:  traces
1502slepc_diagon: reorganization.
1503timer:        cosmetics
1504vmat:         turn into .F file to add MPI barriers for traces.
1505
1506modified:
1507  Src/alloc.F90
1508  Src/cellxc.F
1509  Src/compute_dm.F
1510  Src/deflatedmv.F
1511  Src/dhscf.F
1512  Src/diagon.F
1513  Src/distriphionmesh.F
1514  Src/fft3d.F
1515  Src/initatom.f
1516  Src/initmesh.F
1517  Src/initparallel.F
1518  Src/jacobi_davidson.F
1519  Src/memory.F
1520  Src/memoryinfo.F
1521  Src/mneighb.f
1522  Src/moremeshsubs.F
1523  Src/ordern.F
1524  Src/overfsm.f
1525  Src/poison.F
1526  Src/rhoofd.F
1527  Src/setup_H0.F
1528  Src/siesta_cmlsubs.F90
1529  Src/siesta_forces.F
1530  Src/siesta_init.F
1531  Src/slepc_diagon.F
1532  Src/timer.F
1533  Src/vmat.F
1534  Src/write_subs.F
1535
1536------------------------------------
1537300 Alberto Garcia	  2010-09-29
1538Updates to fdf and dhscf (grdsam, doping)
1539
1540* Make fdf_single and fdf_double accept integers
1541  (fixed version, including call to 'values')
1542
1543* Define proper kind parameters in fdf/prec.F90
1544
1545* Increase width of ik field in OCCS file
1546
1547* Re-implement the doping feature in the uniform distribution
1548
1549In this way it is much easier, since we can refer directly to the
1550points at which rhoatm is different from zero, without having to use
1551any indexes. In fact, this could be done in any distribution, as long
1552as both rho and rhoatm are distributed in the same way.
1553
1554* Fix grdsam by adding a call to dhscf_init
1555
1556Still some more cleanup possible: remove samesh check.
1557
1558removed:
1559  Src/doping.F
1560added:
1561  Src/doping_uniform.F
1562modified:
1563  Src/Makefile
1564  Src/dhscf.F
1565  Src/diagk.F
1566  Src/diagk_file.F
1567  Src/fdf/fdf.F90
1568  Src/fdf/prec.F90
1569  Src/grdsam.F
1570
1571------------------------------------
1572299 Alberto Garcia	  2010-02-22
1573Merge of SLEPC work by Rogeli Grima (in progress)
1574
1575New routines to use the SLEPC library for diagonalization.
1576
1577Note that some sections depend on the use
1578of the _SLEPC_ preprocessor symbol.
1579
1580(Extra timing stills depends on __PPC970__)
1581
1582added:
1583  Src/slepc_diagon.F
1584modified:
1585  Docs/Grid-Work.CHANGES
1586  Src/Makefile
1587  Src/compute_dm.F
1588  Src/domain_decom.F
1589  Src/gmres.F
1590  Src/initparallel.F
1591  Src/jacobi_davidson.F
1592  Src/siesta_forces.F
1593  Src/siesta_init.F
1594  Src/siesta_options.F90
1595  version.info
1596
1597
1598------------------------------------
1599298 Alberto Garcia	  2010-02-22
1600Clarify timing in dhscf
1601
1602The timing tags in dhscf were wrong. Now there is a new set for
1603DHSCF_Init.
1604
1605------------------------------------
1606297 Alberto Garcia	  2010-02-19
1607More data on sizes. Optional stop after H setup. Cleanup
1608
1609* If the fdf variable "H-Setup-Only" is "true", the program will stop
1610  after setting up the hamiltonian in the first iteration, just before
1611  diagonalization. This is useful to benchmark the new grid routines.
1612
1613* Removed dead code in InitMesh
1614
1615* Several mesh routines now print data about sizes.
1616
1617* Temporarily deactivated the "doping" option and the "grid cell sampling"
1618  option.
1619
1620modified:
1621  Src/dhscf.F
1622  Src/doping.F
1623  Src/grdsam.F
1624  Src/initmesh.F
1625  Src/phionmesh.F
1626  Src/setupextmesh.F
1627  Src/siesta_forces.F
1628  Src/siesta_options.F90
1629
1630------------------------------------
1631296 Alberto Garcia	  2010-02-19
1632Merged work by Rogeli Grima on mesh routines, with some bug fixes
1633
1634(Work in progress)
1635
1636There were some bugs in dhscf and in moremeshsubs, found after
1637painstakingly commenting the flow of the program.
1638
1639* dhscf and dhscf_init have been merged in a true module m_dhscf, still
1640  in file dhscf.F.
1641
1642* The mesh initialization part is now done *unconditionally* in
1643  dhscf_init, i.e, after *every* geometry change, even if the change
1644  does not involve a cell change. The reason is to avoid complexity,
1645  since now the mesh parallel distributions will depend on the
1646  detailed atomic positions even if the cell does not change.
1647  Besides, the relative cost of a "mesh only" initialization is
1648  negligible.  The only real observable effect would be a printout of
1649  "initmesh" data at every geometry iteration.
1650
1651* The variables "nm" and "nsm" are no longer imported in 'moremeshsubs'
1652  from module m_dhscf. In fact, nmeshg from module mesh is used instead
1653  of nm (which is abused as an argument in several routines).
1654
1655* Routine distMeshData (real version) had a bug when running in serial
1656  mode and asked to "keep" the clustering or sequential character: it
1657  did not copy the input to the output array.
1658
1659* The change in distribution of the 'drho' array did not take into
1660  account the spin dimension.
1661
1662Remaining known bugs:
1663
1664 - grdsam needs to call dhscf_init before calling dhscf
1665 - the doping routine needs to be called in the quadratic dist
1666 - the calculation of the Berry-phase polarization in the first
1667   iteration of test 'born_spin' is wrong.
1668
1669  */* Inclusion of original logs in Rogeli's branch:
1670
1671-------------------------------------------------------------
16722010-02-17  Alberto Garcia     siesta-bsc-290-rogeli-5-ag-3
1673More instances of symbolic constants
1674
1675Used symbolic constants in calls to initatommesh and setupExtMesh in
1676dhscf.
1677
1678modified:
1679  Src/dhscf.F
1680
1681-------------------------------------------------------------
16822010-02-17  Alberto Garcia     siesta-bsc-290-rogeli-5-ag-2
1683Use symbolic constants for Mesh distribution handling
1684
1685Defined integer parameters UNIFORM, QUADRATIC, and LINEAR
1686in moremeshubs.F to represent the three distributions in current use, and
1687imported and used them in those routines that deal with different distributions.
1688
1689modified:
1690  Src/dhscf.F
1691  Src/distriphionmesh.F
1692  Src/forhar.F
1693  Src/initmesh.F
1694  Src/moremeshsubs.F
1695
1696-------------------------------------------------------------
16972010-02-16  Alberto Garcia     siesta-bsc-290-rogeli-5-ag-1
1698Cosmetic changes for portability
1699
1700A block of code in timer.F, and the routine in "walltime.c" are only
1701meant for a PPC970 machine. A preprocessor test has been added (and
1702note that the relevant macro definition should be included in
1703arch.make, and not in the actual code).
1704
1705A debugging preprocessor block is not processed in mneighb.f due to the
1706file extension. Rather than changing it, the debug statement has been made
1707unconditional.
1708
1709The computation of a real parameter in gmres.F overflowed due to the
1710use of an integer base in an exponentiation. The base is now real.
1711
1712(+ Warning Note in moremeshsubs.F)
1713
1714modified:
1715  Src/Makefile
1716  Src/gmres.F
1717  Src/mneighb.f
1718  Src/moremeshsubs.F
1719  Src/timer.F
1720  Src/walltime.c
1721
1722-------------------------------------------------------
17232010-02-22  Alberto Garcia     siesta-bsc-290-rogeli-6
1724Snapshot Feb22 -- More slepc work
1725
1726-------------------------------------------------------
17272010-02-12  Alberto Garcia     siesta-bsc-290-rogeli-5
1728More comments in mesh routines
1729
1730Rogeli has added more comments and clarified the structure
1731of the modules.
1732
1733(Snapshot taken at 6:30pm Feb. 12. Mesh-related only)
1734
1735modified:
1736  Src/dhscf.F
1737  Src/distriphionmesh.F
1738  Src/initatommesh.F
1739  Src/initmesh.F
1740  Src/meshsubs.F
1741  Src/phionmesh.F
1742  Src/setupextmesh.F
1743
1744removed:
1745  Src/REJS/
1746
1747-------------------------------------------------------
17482010-02-11  Alberto Garcia     siesta-bsc-290-rogeli-4
1749End of implementation of distributed indexp
1750
1751Rogeli has fixed the initialization of ne via extMeshBox and removed
1752some mpi barriers in dhscf.
1753
1754(Snapshot taken at 1pm Feb. 11. Work finished late in Feb 5, according
1755to Rogeli).
1756
1757(Some extra Jacobi-Davidson updates as of Feb 11 not incorporated)
1758
1759modified:
1760  Src/dhscf.F
1761  Src/initatommesh.F
1762  Src/moremeshsubs.F
1763
1764-------------------------------------------------------
17652010-02-10  Alberto Garcia     siesta-bsc-290-rogeli-3
1766Implementation of distributed indexp (work in progress)
1767
1768Rogeli has taken the ideas of Jose Soler regarding the distributed
1769indexp and implemented a 'per-distribution, per-processor' extended mesh
1770and associated index arrays.
1771
1772Some issues of re-initialization upon atomic movements are still pending.
1773
1774Some other cosmetic changes, mostly regarding debugging.
1775(Except in dhscf, where a few uses of "reord" have changed)
1776
1777(Snapshot taken in the afternoon of Feb. 5)
1778
1779
1780
17812010-01-27  Alberto Garcia
1782Some cosmetic changes to make it compile
1783
1784* Gmres: eps definition caused overflow
1785* Wrapped powerpc assembler code in timer.F
1786
1787--------------------------------------------------
17882010-01-26  Alberto Garcia
1789Jan 26-2010 update: Some docs; Cosmetics. Matrix io...
1790
1791Snapshot of state of Rogeli's code on Jan 26, 2010.
1792
1793Incomplete log:
1794
1795* Some documentation of grid routines.
1796
1797* Updates to Jacobi-Davidson.
1798
1799* Matrix market io (mmio)
1800
1801* Cosmetics, including retabbing of molecular mechanics and other
1802  routines.
1803
1804* Addition of a "reset" routine in module radial.f
1805
1806
1807------------------------------------
1808295 Alberto Garcia	  2010-01-25
1809Update to m_efield and doping modules.
1810
1811Bring in the in-line documentation in synch with siesta-3.0
1812
1813=======================================================================
1814
1815** CHANGES ALONG bsc-trunk
1816
1817-------------------------------------------------------------------------
18182009-11-24  17:55 GMT Alberto Garcia <albertog@icmab.es>    bsc-trunk-294
1819Restructuring of CML modules  + test script fixes
1820
1821* After the modularization of efield and doping, the CML subsystem
1822caused strange compiler errors. They have been resolved by explicit
1823use of "public" qualifiers and the "private" statement in siesta_cml
1824(which now contains the interface to all the low-level routines, and
1825wraps FoX completely) and by a simplification of siesta_cmlsubs.
1826
1827* Some scripts in Tests/Scripts still referred to the old "Src"-style
1828siesta executable.
1829
1830(Some work still to be done on the new fdf module)
1831
1832-------------------------------------------------------------------------
18332009-11-24  17:35 GMT Alberto Garcia <albertog@icmab.es>    bsc-trunk-293
1834Synch to trunk-300
1835
1836Other bugfixes:
1837
1838- Correction in TBTrans makefile to restore the main VPATH
1839- Makefile for Genbasis needed some work.
1840
1841Main changes from merge:
1842
1843TranSiesta updates. Assorted fixes and cleanup. Update outputs and banner.
1844
1845* Make local copy of reinit in Util/Denchar
1846* Add comment to the manual re: MeshSubDivisions
1847* Put unit of current in tbtrans. Updated outputs in Tests/transiesta
1848* Merge changes to TS code by F. Novaes
1849* Change Copyright dates. Now they are of the form 1996-
1850* Remove xmlparser/Test directory. Remove test-xml fossils
1851* Update out and xml reference files. Update Tests/Makefile
1852* Fix script.mk and Tests/partial/script.sh
1853
1854-------------------------------------------------------------------------
18552009-11-24  17:10 GMT Alberto Garcia <albertog@icmab.es>    bsc-trunk-292
1856Synch to trunk-299
1857
1858Other bug fixes:
1859
1860- Variable nsd was used without initialization in dhscf_init.
1861- Assorted changes in tbtrans to move it closer to new fdf compliance.
1862- Changes in TOPSRC macro in Vibra and TBtrans makefiles to avoid
1863  long lines in the __FILE__ macro in the new fdf module.
1864
1865- Durint the introduction of the new code by P. Ordejon to treat slabs
1866  with net dipole and charged slabs, new, more modular,
1867  implementations of "efield" and "doping" have been prepared by
1868  A. Garcia.
1869
1870- Note that the fdf calls in the Utils are still not completely up to date.
1871  (Notably, the fdf_block calls and the MPI unwrapping)
1872
1873Other noteworthy changes from the merge:
1874
1875* The manual has been thoroughy re-sectioned, and some obscure points
1876clarified.
1877
1878* Fix of the long-standing "mis-feature/bug" in the generation of
1879  perturbative polarization orbitals. The fix is turned off by
1880  default, unless the variable PAO.OldStylePolOrbs is set to
1881  ".false.".  (See manual.)
1882
1883* Changes to streamline compilation, and new version of
1884  the arch.make template in Src/Sys/DOCUMENTED_TEMPLATE.make
1885  There are minor changes needed in arch.make files:
1886
1887  -  Use of NETCDF_INCFLAGS instead of simply INCFLAGS
1888  -  Deprecation of the use of DEFS in favor of FPPFLAGS
1889
1890* Simplification of TranSiesta compilation:
1891
1892      The target "transiesta" in the makefile defines its
1893      own -DTRANSIESTA pre-processor flag, so the user does
1894      not need to worry about it.
1895
1896      Additionally, the makefile checks whether the last
1897      compilation taking place in the building directory
1898      was a "plain siesta", or a "transiesta", and complains
1899      in case of a mismatch.
1900
1901* Removal of all remaining mentions to the "Src" directory in the
1902  automated tests in Tests.
1903
1904-------------------------------------------------------------------------
19052009-10-17  16:50 GMT Alberto Garcia <albertog@icmab.es>    bsc-trunk-291
1906Synch to trunk-296
1907
1908NOTES: Utils such as Denchar do not compile yet, as they still use
1909the old fdf block interface.
1910
1911-------------------------------------------------------------------------
19122009-10-17  13:45 GMT Alberto Garcia <albertog@icmab.es>    bsc-trunk-290
1913Merged transiesta code, pending complete tests (re-done)
1914
1915Merged TS code in Src (Rogeli, with some help from Frederico and Alberto)
1916
1917(This is a re-commit, with preservation of original file ids.
1918in following copies (now  "bzr add"'ed with the --ids-from option))
1919
1920Tests (copied by AG from latest trunk)
1921TBTrans (copied by AG from trunk-292)
1922
1923Some cosmetic changes by AG (zgesv_lapack addition, etc)
1924
1925Note that actual testing of the transiesta module has been minimal.
1926A subsequent patch will probably be needed.
1927
1928(+ Added g95 macosx .make file)
1929
1930-------------------------------------------------------------------------
19312009-08-26  10:45 GMT Alberto Garcia <albertog@icmab.es>      bsc-289
1932Synch with trunk (2.6.32)
1933
1934* Documentation updates. Building and cosmetic fixes
1935* Speed-up of density-matrix building in diagk
1936
1937removed:
1938  Src/filter/
1939  Src/filter/README
1940  Src/filter/ba-6s-orb.dat
1941  Src/filter/core.dat
1942  Src/filter/f2kcli.F90
1943  Src/filter/m_filter.f90
1944  Src/filter/m_getopts.f90
1945  Src/filter/makefile
1946  Src/filter/test_filter.f90
1947  Src/filter/ti-3p-orb.dat
1948  Src/filter/ti-4p-orb.dat
1949  Src/write_subs_energies.F
1950  Src/write_subs_positions.F
1951  Src/write_subs_pressure.F
1952added:
1953  Docs/ExtraDocs/
1954  Docs/ExtraDocs/00_README_FIRST
1955  Docs/ExtraDocs/Analysis_Tools
1956  Docs/ExtraDocs/Basis_Generation
1957  Docs/ExtraDocs/CML_Output
1958  Docs/ExtraDocs/Code_RoadMap
1959  Docs/ExtraDocs/Compilation
1960  Docs/ExtraDocs/Eggbox_Effect
1961  Docs/ExtraDocs/File_Formats
1962  Docs/ExtraDocs/Geometry_Optimization
1963  Docs/ExtraDocs/Molecular_Dynamics
1964  Docs/ExtraDocs/OrderN_Operation
1965  Docs/ExtraDocs/Parallel_Operation
1966  Docs/ExtraDocs/SCF_Convergence
1967  Docs/ExtraDocs/Scripting_Utilities
1968  Docs/release.notes_3.0
1969  Src/Confs/README
1970  Src/Sys/DOCUMENTED-TEMPLATE.make
1971  Util/DensityMatrix/read_dm.m
1972  Util/DensityMatrix/read_dmhs.m
1973  Util/Grid/README
1974  Util/HSX/README
1975  Util/MD/README
1976  Util/Scripting/eggbox_checker.py
1977  Util/test-xml/
1978  Util/test-xml/README
1979  Util/test-xml/compare_m.f90
1980  Util/test-xml/corresponding_node.f90
1981  Util/test-xml/flib_dom.f90
1982  Util/test-xml/fox-makefile
1983  Util/test-xml/m_compare_tol.f90
1984  Util/test-xml/m_dom_attribute.f90
1985  Util/test-xml/m_dom_debug.f90
1986  Util/test-xml/m_dom_document.f90
1987  Util/test-xml/m_dom_element.f90
1988  Util/test-xml/m_dom_error.f90
1989  Util/test-xml/m_dom_namednodemap.f90
1990  Util/test-xml/m_dom_node.f90
1991  Util/test-xml/m_dom_nodelist.f90
1992  Util/test-xml/m_dom_parse.f90
1993  Util/test-xml/m_dom_types.f90
1994  Util/test-xml/m_dom_utils.FoX.f90
1995  Util/test-xml/m_dom_utils.f90
1996  Util/test-xml/m_strings.f90
1997  Util/test-xml/makefile
1998  Util/test-xml/string_utilities.f90
1999  Util/test-xml/test.f90
2000modified:
2001  Docs/siesta.ind
2002  Docs/siesta.tex
2003  Src/FoX/fsys/fox_m_fsys_abort_flush.F90
2004  Src/FoX/wcml/m_wcml_molecule.F90
2005  Src/Makefile
2006  Src/Sys/README
2007  Src/Sys/nolibs.make
2008  Src/atomlwf.F
2009  Src/denmat.F
2010  Src/denmatlomem.F
2011  Src/diagk.F
2012  Src/f2kcli.F90
2013  Src/m_filter.f90
2014  Src/md_out.F90
2015  Src/mixer.F
2016  Src/new_dm.F
2017  Src/siesta_move.F
2018  Src/xmlparser/f2kcli.F90
2019  Util/COOP/Makefile
2020  Util/Denchar/Src/Makefile
2021  Util/DensityMatrix/README
2022  Util/DensityMatrix/makefile
2023  Util/Macroave/Docs/macroave.tex
2024  Util/Macroave/Src/Makefile
2025  Util/Macroave/Src/permute.F
2026  Util/Scripting/README
2027  Util/VCA/README
2028  Util/Vibra/Src/Makefile
2029  Util/WFS/makefile
2030  Util/pdosxml/makefile
2031  Util/pseudo-xml/makefile
2032  version.info
2033
2034-------------------------------------------------------------------------
20352009-08-13  16:45 GMT Alberto Garcia <albertog@icmab.es>	bsc-288
2036Synch with trunk (except TranSiesta) (redone)
2037
2038Merged all the missing patchlogs from the trunk as of Aug 11, except
2039those dealing with TranSiesta and COOP. The COOP funcionality was
2040merged by hand afterwards. [fixed file-ids on Oct 17]
2041
2042Comments:
2043
2044* Remaining bugs and shortcomings:
2045
2046- The Jacobi-Davidson subsystem is still not completely finished.
2047  The metis library is needed to compile the program even for the
2048  serial version (See Src/Sys/nano-intel-mpi-cdf.make for an example
2049  of how to include it).
2050
2051- Exc for non-collinear spin shows differences.
2052- fdf update in Zmatrix does not work well.
2053- The old fdf is still used in some of the Util programs
2054- A temporary array is produced in fermid for non-coll spin calculations.
2055- Some references to Rogeli's debugging scaffolding might
2056  not be completely resolved for all programs.
2057- CML: the mesh-cutoff info might be out of order in the XML file.
2058
2059removed:
2060  Src/Sys/eth-hreidar-mpi.make
2061  Src/Sys/lahey-lam.make
2062  Src/Sys/lahey-mpich.make
2063  Src/Sys/lahey-nolibs.make
2064  Src/Sys/lahey.make
2065  Src/Sys/osfdxml-mpich.make
2066  Src/Sys/osfdxml.make
2067  Src/Sys/osfdxmlcdf.make
2068  Src/Sys/pgf90-lam.make
2069  Src/Sys/pgf90-mpich.make
2070  Src/Sys/pgf90-nolibs.make
2071  Src/Sys/pgf90.make
2072  Src/Sys/sgi-altix.make
2073  Src/Sys/sgi.make
2074  Src/Sys/sgi64-cdf.make
2075  Src/Sys/sgi64-lam-cdf.make
2076  Src/Sys/sgi64-lam.make
2077  Src/Sys/sgi64-mpi_fermat.make
2078  Src/Sys/sgi64-mpich-cdf.make
2079  Src/Sys/sgi64-mpich.make
2080  Src/Sys/sgin32-mpi.make
2081  Src/Sys/sun-nolibs.make
2082  Src/Sys/t3e.make
2083  Src/denchar.F
2084  Src/extrapol.F
2085  Src/filter.f90
2086  Src/filter_subs.f
2087  Src/initdm.F
2088  Src/m_denchar_geom.f
2089  Src/m_denchar_init.F
2090  Src/m_denchar_io.F
2091  Src/m_denchar_neighb.f
2092  Src/m_denchar_work.f
2093  Tests/Reference-xml/pb_filter_all.xml
2094  Tests/Reference-xml/pb_filter_basis.xml
2095  Tests/Reference-xml/pb_filter_pcc.xml
2096  Tests/Reference-xml/pb_filter_vna.xml
2097  Tests/Reference/pb_filter_all.out
2098  Tests/Reference/pb_filter_basis.out
2099  Tests/Reference/pb_filter_nopcc.out
2100  Tests/Reference/pb_filter_pcc.out
2101  Tests/Reference/pb_filter_vna.out
2102  Tests/Reference/var_cell_filter.out
2103  Tests/au-surface/
2104  Tests/au-surface/au-surface.fdf
2105  Tests/au-surface/au-surface.pseudos
2106  Tests/au-surface/makefile
2107  Tests/bsc-Makefile
2108  Tests/bsc-compare.sh
2109  Tests/bsc-test.mk
2110  Tests/pb_filter_basis/
2111  Tests/pb_filter_basis/makefile
2112  Tests/pb_filter_basis/pb_filter_basis.fdf
2113  Tests/pb_filter_basis/pb_filter_basis.pseudos
2114  Tests/pb_filter_nopcc/
2115  Tests/pb_filter_nopcc/makefile
2116  Tests/pb_filter_nopcc/pb_filter_nopcc.fdf
2117  Tests/pb_filter_nopcc/pb_filter_nopcc.pseudos
2118  Tests/pb_filter_pcc/
2119  Tests/pb_filter_pcc/makefile
2120  Tests/pb_filter_pcc/pb_filter_pcc.fdf
2121  Tests/pb_filter_pcc/pb_filter_pcc.pseudos
2122  Tests/pb_filter_vna/
2123  Tests/pb_filter_vna/makefile
2124  Tests/pb_filter_vna/pb_filter_vna.fdf
2125  Tests/pb_filter_vna/pb_filter_vna.pseudos
2126  Tests/std-Makefile
2127  Tests/std-compare.sh
2128  Tests/std-test.mk
2129  Tests/var_cell_filter/
2130  Tests/var_cell_filter/makefile
2131  Tests/var_cell_filter/var_cell_filter.fdf
2132  Tests/var_cell_filter/var_cell_filter.pseudos
2133  Tests/var_cell_stress/
2134  Tests/var_cell_stress/makefile
2135  Tests/var_cell_stress/var_cell_stress.fdf
2136  Tests/var_cell_stress/var_cell_stress.pseudos
2137  Util/Denchar/README-Source
2138  Util/pdosxml/f2kcli.F90
2139added:
2140  Obj/
2141  Obj/README
2142  Src/FoX/ *Dir
2143  Src/Sys/macosx-gfortran64-atlas.make
2144  Src/Sys/macosx-openmpi.make
2145  Src/Sys/marenostrum-mpi-64.make
2146  Src/Sys/marenostrum-mpi-netcdf-64.make
2147  Src/Sys/nano-intel-mpi-cdf.make
2148  Src/Sys/nano-intel-mpi.make
2149  Src/Sys/nano-intel-serial.make
2150  Src/Sys/nano-pgf95-serial.make
2151  Src/Sys/pgf95-macosx32.make
2152  Src/compute_norm.F
2153  Src/filter/
2154  Src/filter/README
2155  Src/filter/ba-6s-orb.dat
2156  Src/filter/core.dat
2157  Src/filter/f2kcli.F90
2158  Src/filter/m_filter.f90
2159  Src/filter/m_getopts.f90
2160  Src/filter/makefile
2161  Src/filter/test_filter.f90
2162  Src/filter/ti-3p-orb.dat
2163  Src/filter/ti-4p-orb.dat
2164  Src/kpoint_pdos.F90
2165  Src/m_filter.f90
2166  Src/m_hsx.F
2167  Src/m_iodm.F
2168  Src/m_sparse.F
2169  Src/write_subs_energies.F
2170  Src/write_subs_positions.F
2171  Src/write_subs_pressure.F
2172  Tests/Makefile
2173  Tests/Pseudos/N.psf
2174  Tests/Reference-xml/pb_filter_cutoff.xml
2175  Tests/Reference-xml/pb_filter_tol.xml
2176  Tests/Reference-xml/si64_coop.xml
2177  Tests/Reference-xml/si_pdos_kgrid.xml
2178  Tests/Reference/h_chain.out
2179  Tests/Reference/n_chain.out
2180  Tests/Reference/pb_filter_cutoff.out
2181  Tests/Reference/pb_filter_tol.out
2182  Tests/Reference/si64_coop.out
2183  Tests/Reference/si_coop.out
2184  Tests/Reference/si_pdos_kgrid.out
2185  Tests/Scripts/nano.pbs
2186  Tests/Scripts/nano4.sh
2187  Tests/fe_cohp/
2188  Tests/fe_cohp/fe_cohp.fdf
2189  Tests/fe_cohp/fe_cohp.pseudos
2190  Tests/fe_cohp/makefile
2191  Tests/fe_noncol_kp/
2192  Tests/fe_noncol_kp/fe_noncol_kp.fdf
2193  Tests/fe_noncol_kp/fe_noncol_kp.pseudos
2194  Tests/fe_noncol_kp/makefile
2195  Tests/fen/
2196  Tests/fen/fen.fdf
2197  Tests/fen/fen.pseudos
2198  Tests/fen/makefile
2199  Tests/h2o_coop/
2200  Tests/h2o_coop/h2o_coop.fdf
2201  Tests/h2o_coop/h2o_coop.pseudos
2202  Tests/h2o_coop/makefile
2203  Tests/h_chain/
2204  Tests/h_chain/h_chain.fdf
2205  Tests/h_chain/h_chain.pseudos
2206  Tests/h_chain/makefile
2207  Tests/h_chain2/
2208  Tests/h_chain2/h_chain2.fdf
2209  Tests/h_chain2/h_chain2.pseudos
2210  Tests/h_chain2/makefile
2211  Tests/n_chain/
2212  Tests/n_chain/makefile
2213  Tests/n_chain/n_chain.fdf
2214  Tests/n_chain/n_chain.pseudos
2215  Tests/pb_filter_tol/
2216  Tests/pb_filter_tol/makefile
2217  Tests/pb_filter_tol/pb_filter_tol.fdf
2218  Tests/pb_filter_tol/pb_filter_tol.pseudos
2219  Tests/pd_ice/pd_ice.pseudos
2220  Tests/si64_coop/
2221  Tests/si64_coop/makefile
2222  Tests/si64_coop/si64_coop.fdf
2223  Tests/si64_coop/si64_coop.pseudos
2224  Tests/si_coop/
2225  Tests/si_coop/makefile
2226  Tests/si_coop/si_coop.fdf
2227  Tests/si_coop/si_coop.pseudos
2228  Tests/si_pdos_kgrid/
2229  Tests/si_pdos_kgrid/makefile
2230  Tests/si_pdos_kgrid/si_pdos_kgrid.fdf
2231  Tests/si_pdos_kgrid/si_pdos_kgrid.pseudos
2232  Tests/test.mk
2233  Util/CMLComp/
2234  Util/CMLComp/README
2235  Util/CMLComp/ccViz
2236  Util/COOP/    *Dir
2237  Util/Denchar/Src/   *Dir
2238  Util/DensityMatrix/README
2239  Util/DensityMatrix/dmfilter.f90
2240  Util/Grid/average_x.m
2241  Util/Grid/average_z.m
2242  Util/HSX/
2243  Util/HSX/hsx_m.f90
2244  Util/Optimizer/  *Dir
2245  Util/Projections/  *Dir
2246  Util/SCF/README
2247  Util/SCF/g_dm.py
2248  Util/SCF/g_dm3.py
2249  Util/SCF/g_els_out.py
2250  Util/SCF/g_hh.py
2251  Util/SCF/g_hist.py
2252  Util/Scripting/cutoff.py
2253  Util/WFS/
2254  Util/WFS/makefile
2255  Util/WFS/readwfx.f
2256  Util/WFS/wfs2wfsx.f
2257  Util/WFS/wfsnc2wfsx.f90
2258  Util/WFS/wfsx2wfs.f
2259  Util/pseudo-xml/Fe.xml
2260  Util/pseudo-xml/io.f
2261  Util/pseudo-xml/makefile
2262  Util/pseudo-xml/pseudopotential.f
2263  Util/pseudo-xml/sys.f90
2264  Util/pseudo-xml/xml2psf.f90
2265  Util/pseudo-xml/xml2psf_helper.f
2266renamed:
2267  Pseudo/atom/makefile => Pseudo/atom/makefile-old
2268  Pseudo/atom/makefile-xml => Pseudo/atom/Makefile
2269  Src/Sys/marenostrum-mpi.make => Src/Sys/marenostrum-mpi-32.make
2270  Src/pseudo-xml => Util/pseudo-xml
2271  Tests/h3po4_atomlists_1 => Tests/h3po4_1
2272  Tests/h3po4_atomlists_1/h3po4.fdf => Tests/h3po4_1/h3po4_1.fdf
2273  Tests/h3po4_atomlists_1/h3po4.pseudos => Tests/h3po4_1/h3po4_1.pseudos
2274  Tests/h3po4_atomlists_2 => Tests/h3po4_2
2275  Tests/h3po4_atomlists_2/h3po4.fdf => Tests/h3po4_2/h3po4_2.fdf
2276  Tests/h3po4_atomlists_2/h3po4.pseudos => Tests/h3po4_2/h3po4_2.pseudos
2277  Tests/h3po4_atomlists_3 => Tests/h3po4_3
2278  Tests/h3po4_atomlists_3/h3po4.fdf => Tests/h3po4_3/h3po4_3.fdf
2279  Tests/h3po4_atomlists_3/h3po4.pseudos => Tests/h3po4_3/h3po4_3.pseudos
2280  Tests/pb_filter_all => Tests/pb_filter_cutoff
2281  Tests/pb_filter_all/pb_filter_all.fdf => Tests/pb_filter_cutoff/pb_filter_cutoff.fdf
2282  Tests/pb_filter_all/pb_filter_all.pseudos => Tests/pb_filter_cutoff/pb_filter_cutoff.pseudos
2283  Tests/pd_h2o => Tests/pd_ice
2284  Util/Vibra/Vibra => Util/Vibra/Src
2285  Util/pdosxml/pdos.f90 => Util/pdosxml/pdosxml.f90
2286  Util/readwf.f => Util/WFS/readwf.f
2287modified:
2288  Docs/siesta.ind
2289  Docs/siesta.tex
2290  Pseudo/atom/Docs/atom.tex
2291  Pseudo/atom/README
2292  Pseudo/atom/prdiff.f
2293  Pseudo/atom/pseudoXML.f
2294  Pseudo/atom/velect.f
2295  Pseudo/atom/xc.f
2296  Src/Libs/blas.f
2297  Src/MPI/mpi.F
2298  Src/Makefile
2299  Src/Sys/README
2300  Src/Sys/cscs-cray-mpi.make
2301  Src/Sys/cscs-cray.make
2302  Src/Sys/cscs-ibm-blanc.make
2303  Src/Sys/finisterrae.make
2304  Src/Sys/gfortran-netcdf.make
2305  Src/Sys/marenostrum-mpi-netcdf-32.make
2306  Src/alloc.F90
2307  Src/atmfuncs.f
2308  Src/atom.f
2309  Src/atomlwf.F
2310  Src/bands.F
2311  Src/basis_io.F
2312  Src/basis_specs.f
2313  Src/broyden_optim.F
2314  Src/cdiag.F
2315  Src/cgvc.F
2316  Src/chemical.f
2317  Src/chempot.F
2318  Src/coor.F
2319  Src/dhscf.F
2320  Src/diag2g.F
2321  Src/diag2k.F
2322  Src/diagg.F
2323  Src/diagk.F
2324  Src/diagk_file.F
2325  Src/diagkp.F
2326  Src/diagon.F
2327  Src/dynamics.f
2328  Src/efield.F
2329  Src/electrostatic.f
2330  Src/hsparse.F
2331  Src/initmesh.F
2332  Src/iodm_netcdf.F90
2333  Src/iodmhs_netcdf.F90
2334  Src/ioeig.f
2335  Src/iohs.F
2336  Src/ioncat.f
2337  Src/iowfs_netcdf.F90
2338  Src/jacobi_davidson.F
2339  Src/kpoint_grid.F90
2340  Src/m_spin.F90
2341  Src/meshsubs.F
2342  Src/mixer.F
2343  Src/mulliken.F
2344  Src/new_dm.F
2345  Src/obj_setup.sh*
2346  Src/ordern.F
2347  Src/outcell.f
2348  Src/pdos.F
2349  Src/post_scf_work.F
2350  Src/projected_DOS.F
2351  Src/pseudopotential.f
2352  Src/radial.f
2353  Src/redcel.F
2354  Src/remove_intramol_pressure.f90
2355  Src/scfconvergence_test.F
2356  Src/setup_hamiltonian.F
2357  Src/siesta_analysis.F
2358  Src/siesta_cml.f90
2359  Src/siesta_cmlsubs.F90
2360  Src/siesta_init.F
2361  Src/siesta_options.F90
2362  Src/sparse_matrices.F
2363  Src/state_analysis.F
2364  Src/state_init.F
2365  Src/struct_init.F
2366  Src/sys.F
2367  Src/timer.F
2368  Src/version.F90
2369  Src/write_subs.F
2370  Src/writewave.F
2371  Src/xc.f
2372  Src/xmlparser/makefile
2373  Tests/Reference-xml/ag.xml
2374  Tests/Reference-xml/batio3.xml
2375  Tests/Reference-xml/benzene.xml
2376  Tests/Reference-xml/bessel.xml
2377  Tests/Reference-xml/born.xml
2378  Tests/Reference-xml/born_spin.xml
2379  Tests/Reference-xml/ch4.xml
2380  Tests/Reference-xml/constant_volume.xml
2381  Tests/Reference-xml/fe.xml
2382  Tests/Reference-xml/fe_broyden.xml
2383  Tests/Reference-xml/fe_clust_noncollinear.xml
2384  Tests/Reference-xml/fire_benzene.xml
2385  Tests/Reference-xml/floating.xml
2386  Tests/Reference-xml/force_2.xml
2387  Tests/Reference-xml/graphite_c6.xml
2388  Tests/Reference-xml/h2o.xml
2389  Tests/Reference-xml/h2oZ.xml
2390  Tests/Reference-xml/h2o_basis.xml
2391  Tests/Reference-xml/h2o_dos.xml
2392  Tests/Reference-xml/h2o_findp_bug.xml
2393  Tests/Reference-xml/h2o_op_broyden.xml
2394  Tests/Reference-xml/h2o_orderN.xml
2395  Tests/Reference-xml/h2o_radialgrid.xml
2396  Tests/Reference-xml/h2o_reparam.xml
2397  Tests/Reference-xml/md_anneal.xml
2398  Tests/Reference-xml/md_nose.xml
2399  Tests/Reference-xml/md_npr.xml
2400  Tests/Reference-xml/md_pr.xml
2401  Tests/Reference-xml/md_verlet.xml
2402  Tests/Reference-xml/mgco3.xml
2403  Tests/Reference-xml/oxyn.xml
2404  Tests/Reference-xml/ptcda.xml
2405  Tests/Reference-xml/si2x1h.xml
2406  Tests/Reference-xml/si64.xml
2407  Tests/Reference-xml/si_bandpoints.xml
2408  Tests/Reference-xml/si_coop.xml
2409  Tests/Reference-xml/sih.xml
2410  Tests/Reference-xml/sih_fire.xml
2411  Tests/Reference-xml/sih_op_broyden.xml
2412  Tests/Reference-xml/sinw.xml
2413  Tests/Reference-xml/var_cell.xml
2414  Tests/Reference-xml/zmatrix.xml
2415  Tests/ag/ag.fdf
2416  Tests/benzene/benzene.fdf
2417  Tests/fe_clust_noncollinear/fe_clust_noncollinear.fdf
2418  Tests/fire_benzene/fire_benzene.fdf
2419  Tests/h2o/h2o.fdf
2420  Tests/h2oZ/h2oZ.fdf
2421  Tests/h3po4_1/makefile
2422  Tests/h3po4_2/makefile
2423  Tests/h3po4_3/makefile
2424  Tests/pb_filter_cutoff/makefile
2425  Tests/pd_ice/makefile
2426  Tests/ptcda/ptcda.fdf
2427  Tests/si_bandpoints/si_bandpoints.fdf
2428  Tests/zmatrix/zmatrix.fdf
2429  Util/Denchar/Docs/CHANGES
2430  Util/Denchar/Docs/denchar.tex
2431  Util/DensityMatrix/cdf2dm.f90
2432  Util/DensityMatrix/dm2cdf.f90
2433  Util/DensityMatrix/makefile
2434  Util/Grid/cdf_fft.f90
2435  Util/Grid/grid2cube.f
2436  Util/Grid/libfft.f
2437  Util/Grid/makefile
2438  Util/README
2439  Util/Scripting/Siesta/Interface.py
2440  Util/Vibra/Src/Makefile
2441  Util/Vibra/Src/vibrator.f
2442  Util/pdosxml/README
2443  Util/pdosxml/m_pdos.f90
2444  Util/pdosxml/makefile
2445  Util/pseudo-xml/README
2446  version.info
2447  Pseudo/atom/makefile-old
2448  Pseudo/atom/Makefile
2449  Src/Sys/marenostrum-mpi-32.make
2450  Tests/h3po4_1/h3po4_1.fdf
2451  Tests/h3po4_2/h3po4_2.fdf
2452  Tests/h3po4_3/h3po4_3.fdf
2453  Tests/pb_filter_cutoff/pb_filter_cutoff.fdf
2454  Util/pdosxml/pdosxml.f90
2455
2456
2457
2458-------------------------------------------------------------------------
24592009-08-11  17:45 GMT Alberto Garcia <albertog@icmab.es>	bsc-2.8.9
2460Do not stop after Jacobi-Davidson process
2461
2462modified:
2463  Src/jacobi_davidson.F
2464
2465-------------------------------------------------------------------------
24662009-08-11  17:45 GMT Alberto Garcia <albertog@icmab.es>	bsc-2.8.8
2467Fix initialization error for sparse indexes
2468
2469numhold and listhptrold were wrongly zeroed
2470in state_init. They are managed in extrapol.
2471
2472modified:
2473  Src/state_init.F
2474
2475-------------------------------------------------------------------------
24762009-08-11  14:05 GMT Alberto Garcia <albertog@icmab.es>	bsc-2.8.7
2477Remove Lanczos code. Assorted fixes. Still problems
2478
2479Removed Lanczos code.
2480
2481Other changes:
2482
2483* resetMesh is now called just before the call to InitMesh
2484* boxIntersection taken out of MPI #ifdefs.
2485
2486NOTES:
2487
2488- Metis is needed even in serial compilations.
2489- The code runs, except when doing geometry iterations with
2490  full SCF (Harris is fine).
2491
2492removed:
2493  Src/lu_factorization.F
2494  Src/modi_lanczos_m.F
2495  Src/superlu.F
2496  Src/superlu_c2f_wrap.c
2497modified:
2498  Docs/CHANGES
2499  Src/Makefile
2500  Src/compute_dm.F
2501  Src/dhscf.F
2502  Src/domain_decom.F
2503  Src/initparallel.F
2504  Src/iogrid_netcdf.F90
2505  Src/jacobi_davidson.F
2506  Src/moremeshsubs.F
2507  Src/siesta_end.F
2508  Src/siesta_forces.F
2509  Src/spher_harm.f
2510  Src/state_init.F
2511
2512-------------------------------------------------------------------------
25132009-08-11  10:20 GMT Alberto Garcia <albertog@icmab.es>	bsc-2.8.6
2514Update with Rogeli's code up to Aug 11 2009
2515
2516Assorted changes. Among them:
2517
2518* Use of 'reset' routines to deallocate arrays in certain modules.
2519
2520  RESET_NEIGHBOUR_ARRAYS()
2521  RESET_SPHER_HARM( )
2522  RESET_RADFFT( )
2523
2524  and also, (this is from siesta_end):
2525
2526      use m_pulay,         only : resetPulayArrays
2527      use moreMeshSubs,    only : resetMeshDistr
2528      use densematrix,     only : resetDenseMatrix
2529      use sparse_matrices, only : resetSparseMatrices
2530      use m_fixed,         only : resetFixedPointers
2531      use band,            only : reset_bands
2532      use domain_decom,    only : resetDomainDecom
2533
2534  It is not clear that these are harmless...
2535
2536* Change of name qsort --> myqsort (system conflict)
2537
2538* Cosmetic changes in several routines.
2539
2540* Changes in fdf.F90 to clean the filename production, and
2541  to satisfy certain compilers.
2542
2543* Insertion of "nullify" statements in arw.f and several other routines.
2544
2545* Change of #ifdef MPI for tests on 'nodes' in several places (such as
2546  dhscf). This was done to make sure that the code worked in all cases
2547  (serial, MPI with np=1, parallel, etc).
2548
2549* Introduce extra pointers to array sections to help compilers avoid
2550  the creation of temporary arrays. (eg, fsrc and fdat in dhscf).
2551
2552* Replace f90 array operations by explicit do loops in some places.
2553 Eventually, these will be replaced by call to BLAS.
2554
2555NOTE: The Lanczos code is going to be abandoned. It will be removed in
2556the next patch.
2557
2558added:
2559  Src/Sys/marenostrum-lanczos.make
2560  Src/Sys/mn-openmp.make
2561  Src/cg.F
2562  Src/lu_factorization.F
2563  Src/modi_lanczos_m.F
2564  Src/superlu.F
2565  Src/superlu_c2f_wrap.c
2566modified:
2567  Docs/CHANGES
2568  Src/Makefile
2569  Src/alloc.F90
2570  Src/arw.f
2571  Src/atmfuncs.f
2572  Src/atom.f
2573  Src/atomlwf.F
2574  Src/bands.F
2575  Src/basis_io.F
2576  Src/basis_types.f
2577  Src/bonds.f
2578  Src/cdiag.F
2579  Src/cell_broyden_optim.F
2580  Src/cell_fire_optim.F
2581  Src/chempot.F
2582  Src/compute_dm.F
2583  Src/coor.F
2584  Src/debugmpi.F
2585  Src/densematrix.f
2586  Src/dfscf.f
2587  Src/dhscf.F
2588  Src/diagon.F
2589  Src/distriphionmesh.F
2590  Src/dnaefs.f
2591  Src/domain_decom.F
2592  Src/dscfcomm.F
2593  Src/dynamics.f
2594  Src/eggbox.F
2595  Src/electrostatic.f
2596  Src/fdf/fdf.F90
2597  Src/fdf/parse.F90
2598  Src/fdf/utils.F90
2599  Src/fft3d.F
2600  Src/filter.f90
2601  Src/filter_subs.f
2602  Src/final_H_f_stress.F
2603  Src/fire_optim.F
2604  Src/fixed.F
2605  Src/forhar.F
2606  Src/get_target_stress.f
2607  Src/gmres.F
2608  Src/grdsam.F
2609  Src/hsparse.F
2610  Src/initmesh.F
2611  Src/initparallel.F
2612  Src/iogrid_netcdf.F90
2613  Src/jacobi_davidson.F
2614  Src/kinefsm.f
2615  Src/ksv.f
2616  Src/m_dhscf.F
2617  Src/m_diagon.F
2618  Src/m_iostruct.f
2619  Src/matel.f
2620  Src/matrixop.F
2621  Src/memory.F
2622  Src/meshmatrix.F
2623  Src/meshsubs.F
2624  Src/mneighb.f
2625  Src/molecularmechanics.F90
2626  Src/moremeshsubs.F
2627  Src/naefs.f
2628  Src/nlefsm.f
2629  Src/old_atmfuncs.f
2630  Src/optical.F
2631  Src/ordern.F
2632  Src/overfsm.f
2633  Src/overlap.f
2634  Src/pdos.F
2635  Src/phionmesh.F
2636  Src/phirphi.f
2637  Src/phirphi_opt.f
2638  Src/phonon.F
2639  Src/poison.F
2640  Src/post_scf_work.F
2641  Src/precond.F
2642  Src/printmatrix.F
2643  Src/proximity_check.F
2644  Src/pseudopotential.f
2645  Src/pspltm1.F*
2646  Src/qsort.F
2647  Src/radfft.f
2648  Src/radial.f
2649  Src/rdiag.F
2650  Src/redcel.F
2651  Src/reinit.F
2652  Src/reord.f
2653  Src/rhoofd.F
2654  Src/scfconvergence_test.F
2655  Src/schecomm.F
2656  Src/setup_hamiltonian.F
2657  Src/shaper.f
2658  Src/siesta.F
2659  Src/siesta_analysis.F
2660  Src/siesta_end.F
2661  Src/siesta_forces.F
2662  Src/siesta_init.F
2663  Src/siesta_options.F90
2664  Src/sparse_matrices.F
2665  Src/spher_harm.f
2666  Src/state_analysis.F
2667  Src/state_init.F
2668  Src/struct_init.F
2669  Src/timer.F
2670  Src/vmat.F
2671  Src/vmb.F
2672  Src/write_subs.F
2673  Src/writewave.F
2674  Src/wxml/m_wxml_array_str.f90
2675  Src/wxml/m_wxml_buffer.f90
2676  Src/wxml/m_wxml_core.f90
2677  Src/wxml/m_wxml_dictionary.f90
2678  Src/wxml/m_wxml_elstack.f90
2679  Src/xc.f
2680  Src/zm_fire_optim.F
2681  Src/zmatrix.F
2682
2683-------------------------------------------------------------------------
26842008-10-12  17:50 GMT Alberto Garcia <albertog@icmab.es>	bsc-2.8.5
2685Fix processing of InitSpin block. Avoid writing DM nc files by default
2686
2687The InitSpin block was read correctly, but a superfluous check for the
2688number of lines made it crash sometimes. The check has been removed.
2689
2690When the Jacobi-Davidson method is used, the local-to-global assigment
2691of orbitals used in the netCDF DM routines needs to be re-examined.
2692Write.DM.NetCDF and Write.DMHS.NetCDF are .false. by default now.
2693
2694Arrays involved in gather operations have been allocated (to zero-size)
2695in non-master nodes in the netCDF routines. This avoids crashes when
2696running with full checks.
2697
2698modified:
2699  Src/initdm.F
2700  Src/iodm_netcdf.F90
2701  Src/iodmhs_netcdf.F90
2702  Src/siesta_options.F90
2703
2704-------------------------------------------------------------------------
27052008-10-08  16:50 GMT Alberto Garcia <albertog@icmab.es>	bsc-2.8.4
2706Fixed array bounds issue in fdf library
2707
2708Some compilers had trouble with the assigment to
2709bufferFDF in routine fdf_SendInput. The limits
2710of the assignment have now been made explicit.
2711
2712The MAX_LENGTH parameter is now imported from the fdf
2713utils module by both fdf and parse.
2714
2715(Also: added a rule in .bzrignore to ignore .mod files)
2716
2717added:
2718  .bzrignore
2719modified:
2720  Src/fdf/fdf.F90
2721  Src/fdf/parse.F90
2722  Src/fdf/utils.F90
2723
2724-------------------------------------------------------------------------
27252008-09-29  14:35:00 GMT Alberto Garcia <albertog@icmab.es>	bsc-2.8.3
2726Fixed a bug with arrays listhptrold and numhold (Rogeli)
2727-------------------------------------------------------------------------
2728r4 | bsc21017 | 2008-09-19 16:25:39 +0200 (Fri, 19 Sep 2008) | 11 lines
2729
2730Fixed a bug with arrays listhptrold and numhold.  These arrays were
2731allocated in siesta_init with the same size as listhptr and numh. If
2732we run with 'jacobi' as a solution method, the size of listhptr and
2733numh is modified, so the size of listhptrold and numhold should
2734change too.
2735
2736Cosmetic change in domain_decomposition.
2737
2738modified:
2739  Src/siesta_init.F
2740  Src/state_init.F
2741  Src/domain_decom.F
2742
2743----------------------------------------------------------------------
27442008-09-12  14:45:00 GMT Alberto Garcia <albertog@icmab.es>	 2.8.2
2745Bug fixes by Rogeli: Drho reorder, Vna init (SVN 2-3)
2746
2747Fixed a bug in the function NeutralAtomOnMesh.  Array Vna only should
2748be reset when we don't need to compute Gradients.  Vna is also
2749defined as an inout variable to avoid problems under some
2750architectures.
2751
2752This bug shows up in test "batio3".
2753
2754modified:
2755  Src/meshsubs.F
2756
2757Fixed a bug in the sequential code of dhscf
2758Array Drho needs to be reordered before calling cellxc.
2759
2760modified:
2761  Src/dhscf.F
2762
2763----------------------------------------------------------------------
27642008-09-12  14:30:00 GMT Alberto Garcia <albertog@icmab.es>	 2.8.1
2765Incorporate proper patchlogs from trunk merge
2766
2767A previous big merge from trunk was carried out without explicitly
2768incorporating the patchlogs ("merge records"). They have now been
2769added to facilitate the synching.
2770
2771Version tags have now a "siesta-bsc-2.8" prefix.
2772
2773----------------------------------------------------------------------
2774Sep 9, 2008
2775
2776Accept integers or reals in (super)cell specification
2777
2778The original code by Raul demanded reals for lattice
2779specification and supercell description (through the
2780use of fdf_breals). Now the reading is done with
2781fdf_bvalues, so integers are accepted as well.
2782
2783modified:
2784  Src/redcel.F
2785
2786---------------------------------------------
2787
2788Sep 1st, 2008
2789Merge of changes by Rogeli on svn
2790
2791    Removal of matmul calls in dynamics.f
2792    moremeshsubs.F can now be compiled in MN with no temporaries + cosmetic changes
2793
2794
2795modified:
2796  Src/atom.f
2797  Src/dhscf.F
2798  Src/diagg.F
2799  Src/diagon.F
2800  Src/dynamics.f
2801  Src/efield.F
2802  Src/fdf/fdf.F90
2803  Src/fdf/parse.F90
2804  Src/fdf/sample.F90
2805  Src/grdsam.F
2806  Src/meshmatrix.F
2807  Src/moremeshsubs.F
2808  Src/phionmesh.F
2809  Src/radial.f
2810  Src/rdiag.F
2811  Src/reinit.F
2812  Src/setup_H0.F
2813  Src/writewave.F
2814
2815------------------------------------------------------------
2816Merge of changes along development trunk (siesta-devel--reference--2.5),
2817except COOP (patch 1) (will re-implement it using netCDF technology) and
2818TranSiesta (the merge needs to be reviewed by F. Novaes).
2819
2820The following log has been automatically generated by bzr in an auxiliary
2821directory, but note that the patchlogs themselves are not part of the bsc bzr branch
2822yet.
2823
2824  Include pending merge patchlogs.
2825    ------------------------------------------------------------
2826    revno: 192.1.67
2827    committer: Alberto Garcia <albertog@icmab.es>
2828    timestamp: Tue 2008-07-08 13:46:50 +0000
2829    message:
2830      Patches by A. Walker: undefined variables and pointers, intents
2831      Fixes found using the full-checks mode of the NAG fortran compiler.
2832      The original names of the patch files are retained for reference.
2833
2834      * NAG-01-null.patch -- makes various undefined pointers disassociated
2835      (in fft3d.F, dfscf.f, pseudopotential.f, hsparse.f, optical.F,
2836      writewave.F and zmatrix) and wraps a pointer declaration that is only
2837      used under -DMPI with the ifdef in optical.F.
2838
2839      * NAG-02-intent.patch -- attempts to deal with a couple of issues with
2840      the intent of variables. Intent(out) results in the variable being
2841      undefined at the start of the called subroutine (and in the caller, if
2842      it is not changed). In vmb.F there is a call to fixed with a couple of
2843      variables being used in two places (on intent(in) and another
2844      intent(out)) - I don't know what the strictly correct behavior is in
2845      this case, but under NAG this results in the intent(in) variable being
2846      undefined in fixed. I've worked around this with a pair temporary
2847      variables. The alternative is to rework the interface to fixed using
2848      intent(inout). The second issue is similar and in meshsubs.f: Vna
2849      ended up undefined if gradient was true. I've dealt with this by
2850      setting Vna to 0.0, but a reworking using intent(inout) may also be a
2851      better solution.
2852
2853      * NAG-03-dhfcs.patch -- deals with a couple of pointers in
2854      dhscf.F. These need to have the save attribute or they will be
2855      undefined rather than disassociated on the second and subsequent
2856      calls. I've also added a comma to a data block.
2857
2858      * NAG-04-filter.patch Changes the dimensions of f0 from nr to n so to
2859      avoid a mismatch in array dimensions of x in the call to the
2860      interpolation function at line 169. As far as I can tell this is the
2861      correct fix: yold is known at the xold positions and ynew will be
2862      calculated at the xnew positions, so ynew (which is f0) should be of
2863      the same dimensions as xnew (which is x), and yold (f) should be of
2864      the same dimensions as xold (r).
2865
2866      * NAG-05-init -- In dynamics.f initialize magv and magf in the uphill
2867      case. In forhar.f initialize stressl array. In m_cell.f initialize
2868      celli as it is used in the case of a zmatrix molecule without a cell
2869      before the box size is calculated. In m_kinetic.F90 initialize
2870      thermostat parameters.
2871
2872      ** Other fixes:
2873
2874      * Avoid referencing s%rc and s%lambda for polarization orbitals
2875        in basis_specs_transfer.
2876    ------------------------------------------------------------
2877    revno: 192.1.66
2878    committer: Alberto Garcia <albertog@icmab.es>
2879    timestamp: Sun 2008-06-29 22:49:11 +0000
2880    message:
2881      Minor cosmetic fixes to avoid compilation warnings
2882      *   Fix cycle statement in m_denchar_work.f
2883
2884      *   Fix cycle statements in pdos routines -- warning in atomlwf.F
2885
2886      *   Some debugging support for KB generation
2887
2888      If Atom.Debug.KB.Generation is "true", 'AtomLabel-KBproj'.index
2889      files are produced showing the non-interpolated projectors.
2890
2891      *   Fixes for NAG compiler contributed by Toby White:
2892
2893      chempot: intent of mu in numb routine.
2894      writewave: remove references to paste routine
2895      fft3d.F: explicit array-ness of trigs in calls to setup routines.
2896    ------------------------------------------------------------
2897    revno: 192.1.65
2898    committer: Alberto Garcia <albertog@icmab.es>
2899    timestamp: Sun 2008-06-29 22:40:22 +0000
2900    message:
2901      Fixed bug affecting MP occupation smearing.
2902      Fixed a bug (reported by Francois Willaime of CEA/Saclay)
2903      which affected calculations in metals using the Hermite-Gauss
2904      broadening scheme proposed by Methfessel and Paxton
2905      (OccupationFunction MP).
2906
2907      The following test on state occupancy was performed:
2908
2909      if (qe.gt.occtol)
2910
2911      where qe is the state occupancy, and occtol, the tolerance (set to
2912      10**-12 by default).  If one uses the Methfessel-Paxton smearing, qe
2913      may take negative values and this test therefore yields wrong results.
2914
2915      The bug has be fixed by replacing the test by
2916
2917      if (abs(qe).gt.occtol)
2918
2919      in all diag*.F routines.
2920        ------------------------------------------------------------
2921        revno: 162.1.42
2922        committer: Alberto Garcia <albertog@icmab.es>
2923        timestamp: Fri 2008-04-11 15:04:26 +0000
2924        message:
2925          Fixed bug affecting MP occupation smearing
2926          Fixed a bug (reported by Francois Willaime of CEA/Saclay)
2927          which affected calculations in metals using the Hermite-Gauss
2928          broadening scheme proposed by Methfessel and Paxton
2929          (OccupationFunction MP).
2930
2931          The following test on state occupancy was performed:
2932
2933          if (qe.gt.occtol)
2934
2935          where qe is the state occupancy, and occtol, the tolerance (set to
2936          10**-12 by default).  If one uses the Methfessel-Paxton smearing, qe
2937          may take negative values and this test therefore yields wrong results.
2938
2939          The bug has be fixed by replacing the test by
2940
2941          if (abs(qe).gt.occtol)
2942
2943          in all diag*.F routines.
2944        ------------------------------------------------------------
2945        revno: 162.1.41
2946        committer: Alberto Garcia <albertog@icmab.es>
2947        timestamp: Sun 2008-01-20 19:34:33 +0000
2948        message:
2949          Changes to the Order-N section by Pablo Ordejon
2950          The calculation of the chemical potential to start the O(N) process
2951          has been updated.
2952        ------------------------------------------------------------
2953        revno: 162.1.40
2954        committer: Alberto Garcia <albertog@icmab.es>
2955        timestamp: Sun 2008-01-20 19:33:55 +0000
2956        message:
2957          Better MPI communication in writewave. Denchar warning
2958          Point-to-point instead of collective operations used.
2959
2960          Added warning about non-parallelization of denchar.
2961        ------------------------------------------------------------
2962        revno: 162.1.39
2963        committer: Alberto Garcia <albertog@icmab.es>
2964        timestamp: Sun 2008-01-20 19:33:24 +0000
2965        message:
2966          Fix dimension of dpr in pdosg. Clarify names of variables in pdos.
2967          In pdosg, dpr was wrongly dimensioned to no_l (modern notation) instead of no_u.
2968
2969          More work is needed in the naming of variables.
2970        ------------------------------------------------------------
2971        revno: 162.1.38
2972        committer: Alberto Garcia <albertog@icmab.es>
2973        timestamp: Sun 2008-01-20 19:20:41 +0000
2974        message:
2975          Fix index in write statement in iohs in parallel
2976          (This is similar to the bug fix for 2.0.1, but applying to
2977          other array).
2978        ------------------------------------------------------------
2979        revno: 162.1.37
2980        committer: Alberto Garcia <albertog@icmab.es>
2981        timestamp: Sun 2008-01-20 19:20:09 +0000
2982        message:
2983          Origin shift was applied after possible coordinate scaling
2984          In routine coor, the origin shift was applied after the section in
2985          which the coordinates are re-scaled (from Ang to Bohr, or from fractional
2986          to cartesian, etc). However, it is clear in the manual that the shift
2987          vector is in the same units and format as the input coordinates.
2988
2989          The shift is now applied right after reading the coordinate block.
2990
2991          NOTE: This does not apply to the Zmatrix routine, which has *its own*
2992          conventions for origin shift, neither to coordinates read from an XV
2993          file or a Struct file.
2994        ------------------------------------------------------------
2995        revno: 162.1.36
2996        committer: Alberto Garcia <albertog@icmab.es>
2997        timestamp: Sun 2008-01-20 19:19:34 +0000
2998        message:
2999          Initialize a variable before using it in Src/kgridinit.F
3000          Changes:
3001                          Initialize "genlogic" to .false. before it's used.
3002
3003          Modified files:
3004
3005                          Src/kgridinit.F
3006        ------------------------------------------------------------
3007        revno: 162.1.35
3008        committer: Alberto Garcia <albertog@icmab.es>
3009        timestamp: Sun 2008-01-20 19:18:55 +0000
3010        message:
3011          New .make files and scripts. Update reference outputs
3012          * Updated intel .make files.
3013          * New sge script.
3014          * Updated reference outputs
3015        ------------------------------------------------------------
3016        revno: 162.1.34
3017        committer: Alberto Garcia <albertog@icmab.es>
3018        timestamp: Sun 2008-01-20 19:18:14 +0000
3019        message:
3020          Fix tag in MPI send/receive in mulliken
3021          * The undefined variable 'io' was used as tag... changed to itot, the
3022          orbital index.
3023
3024          * Trimmed mpibuff before writing.
3025        ------------------------------------------------------------
3026        revno: 162.1.33
3027        committer: Alberto Garcia <albertog@icmab.es>
3028        timestamp: Sun 2008-01-20 19:15:56 +0000
3029        message:
3030          Wrap several I/O operations for MPI. Other parallel fixes
3031          * The calls to io_close in iohs.F were not restricted to the master node.
3032
3033          * Wrap output in broyden_optim.F
3034
3035          * Fix allocation of temporary array in savepsi in parallel
3036
3037          Some nodes might not have any occupied orbitals assigned to them, so
3038          one has to be careful in the allocation of a buffer array in MPI.
3039          Allocate using the dimensions on the master node.
3040
3041          * Add 'show_distribution' routine to warn (for now) the user
3042            when there are nodes which do not handle any orbitals.
3043
3044          * Add experimental 'compare' target to Makefile.
3045
3046          * Add 'born_spin' test.
3047        ------------------------------------------------------------
3048        revno: 162.1.32
3049        committer: Alberto Garcia <albertog@icmab.es>
3050        timestamp: Sun 2008-01-20 19:14:40 +0000
3051        message:
3052          Fix units in Util/Optical/optical. Bug fix in writewave.F
3053          (Daniel Sanchez)
3054
3055          Optical.f is a program to analyze the file .EPSIMG and obtain the
3056          optical properties. A unit conversion was done from eV to Ry instead
3057          of to Ha.
3058
3059          (Julian Gale)
3060
3061          The code in writewave.F has been cleaned up a bit and a fix for a bug
3062          appearing in parallel execution has been fixed.
3063        ------------------------------------------------------------
3064        revno: 162.1.31
3065        committer: Alberto Garcia <albertog@icmab.es>
3066        timestamp: Sun 2008-01-20 19:13:18 +0000
3067        message:
3068          Fix for k-point update when kgrid_cutoff is used. Vol2 fix.
3069          The user can specify a kgrid_cutoff or a Monkhorst-Pack grid
3070          to determine the k-point sampling.
3071
3072          If a MP grid is specified and there are unit-cell changes during the
3073          calculation, the k-point set does not change (in fractional
3074          reciprocal-lattice coordinates). The sampling accuracy changes
3075          implicitly.
3076
3077          On the other hand, the k-point set should change in principle if a
3078          kgrid_cutoff has been given and the cell volume changes, but due to a
3079          programming error the k-point grid was fixed after the first
3080          iteration.
3081
3082          The error affects variable-cell calculations specifying a
3083          kgrid_cutoff.
3084
3085          The k-point grid used for achieving self-consistency is now
3086          re-computed inside the geometry loop if:
3087
3088          The calculation is a cell-optimization one (i.e., if MD.VariableCell
3089          is .true.), or if it is a "siesta-server" run. This is the old default.
3090
3091          Additionally, if the user sets the fdf flag "ChangeKgridInMD" to
3092          .true., the grid will be recomputed also during MD runs that potentially
3093          change the unit cell: Parrinello-Rahman, Nose-Parrinello-Rahman, and
3094          Anneal.
3095
3096          A user might want to avoid sudden changes in the k-point set
3097          while performing molecular dynamics runs or cell optimizations,
3098          notably if the calculations are not very well converged. In that
3099          case a MP grid, and not a kgrid_cutoff, should be specified.
3100
3101          A related problem that has been fixed in this patch is the
3102          possible overriding of the user's MP displacement specification after
3103          the first iteration.
3104
3105          There is no backwards compatibility after this bugfix. To recover the
3106          old behavior when a kgrid_cutoff was specified, the user should check
3107          the old output, extract the information about the MP grid generated
3108          automatically by the program, and put it in an MP block.
3109
3110          * Initialize vol2 correctly in m_check_supercell.f
3111          The bug could lead to different paths for supercell creation,
3112          causing small numerical differences.
3113
3114          * New test: born
3115        ------------------------------------------------------------
3116        revno: 162.1.30
3117        committer: Alberto Garcia <albertog@icmab.es>
3118        timestamp: Tue 2006-12-19 16:19:08 +0000
3119        message:
3120          Siesta-2.0.1 fix release
3121        ------------------------------------------------------------
3122        revno: 162.1.29
3123        committer: Alberto Garcia <albertog@icmab.es>
3124        timestamp: Tue 2006-12-19 16:10:36 +0000
3125        message:
3126          Fix error in findp. Allow user control of fix
3127          A programming error has been fixed in routine findp, which is used in
3128          the automatic generation of multiple-zeta orbitals with the split-norm
3129          method.  The fix leads to slightly different basis orbitals, leading
3130          to small differences in energies and other magnitudes.
3131
3132          In order to make it easier to compare with previous calculations,
3133          a new symbol, PAO.Keep.Findp.Bug, is now read. If .true., the old
3134          code in findp is enabled.
3135
3136          * New test:
3137
3138            h2o_findp_bug
3139        ------------------------------------------------------------
3140        revno: 162.1.28
3141        committer: Alberto Garcia <albertog@icmab.es>
3142        timestamp: Sun 2006-12-17 15:58:47 +0000
3143        message:
3144          Fixes for NAG compilation
3145          * NAG compiler on Mac:  f90_unix_proc module needed
3146            in fsiesta.f90. This file had to be renamed to
3147            fsiesta.F90
3148
3149          * Added new Src/Confs/macosx-nag-cdf.sh file.
3150    ------------------------------------------------------------
3151    revno: 192.1.64
3152    committer: Alberto Garcia <albertog@icmab.es>
3153    timestamp: Sun 2008-06-29 18:20:31 +0000
3154    message:
3155      Remove residual (k,-k) pairs of k-points
3156      The original algorithm sometimes left pairs of k-points related
3157      by inversion. A new routine "trim_kpoint_list" in find_kgrid.F
3158      now takes care of them.
3159
3160      A file NON_TRIMMED_KP_LIST is created with the "raw" list produced
3161      by the first part of the process, for debugging purposes.
3162
3163      NOTE: Some pairs are *still* not removed properly. A fix is in the works.
3164
3165      Credits: Eduardo Machado (CEA) implemented a preliminary version
3166               modifying the original algorithm.
3167
3168      * Write KP file unconditionally (regardless of WriteKpoints setting)
3169    ------------------------------------------------------------
3170    revno: 192.1.63
3171    committer: Alberto Garcia <albertog@icmab.es>
3172    timestamp: Sun 2008-06-29 18:13:14 +0000
3173    message:
3174      Assorted geometry-related cosmetic fixes
3175      * Do not pretend to update zmatrix info during MD runs
3176
3177      The zmatrix form of structural information is only kept up
3178      to date when performing geometry relaxations. In molecular
3179      dynamics runs, only the cartesian coordinates are updated, and
3180      the zmatrix variables are kept frozen at their initial values.
3181
3182      This is potentially confusing, so a warning is now issued and
3183      the zmatrix "updates" are no longer printed.
3184
3185      * Fix shape script in Utils/MD
3186
3187      * Compute bond information for all server steps
3188
3189        If the server option is used, the program will compute the bond-length
3190        information at every step.
3191
3192        The first file has now extension ".BONDS_INITIAL", and every successive
3193        one, simply ".BONDS". The final one is still "SystemLabel.BONDS_FINAL".
3194
3195      * More flexibility and error detection in reading of atomic coordinates
3196
3197      (Patch by Andrew Walker)
3198
3199      In coor.F, new logic has been implemented to detect malformed input lines
3200      in the AtomicCoordinatesAndAtomicSpecies block. As a by-product, comments
3201      and blank lines can now be present in the block.
3202
3203
3204      (Unrelated)
3205
3206      * Temporarily move xml-pseudopotential to xmlparser directory
3207        The file is not ready for production, but could interfere with the
3208        automatic dependency analysis.
3209    ------------------------------------------------------------
3210    revno: 192.1.62
3211    committer: Alberto Garcia <albertog@icmab.es>
3212    timestamp: Sun 2008-06-29 18:00:10 +0000
3213    message:
3214      Generalized SCF convergence criteria. Optional enforcement
3215      New criterion for SCF convergence based on the Harris energy. This
3216      is useful if only energies are needed, as the Harris energy tends
3217      to converge faster than the Kohn-Sham energy.
3218
3219      This new criterion joins the two already implemented:
3220
3221      - The standard criterion is based on the convergence of the density
3222      matrix, with the relevant parameter being DM.Tolerance.
3223
3224      - Optionally, one can require that the total energy changes are
3225      also below a prescribed tolerance:
3226
3227      DM.RequireEnergyConvergence T
3228
3229      In this case, DM.EnergyTolerance is the total-energy tolerance
3230
3231      The new criterion is requested by
3232
3233      DM.RequireHarrisConvergence  T
3234
3235      DM.HarrisTolerance is the harris-energy tolerance (default 1e-4 eV)
3236
3237      (Note that DM convergence is not needed in this case).
3238
3239      The user is responsible for using the correct energies in further
3240      processing, e.g., the Harris energy if the Harris criterion is used.
3241
3242      To help in basis-optimization tasks, a new file BASIS_HARRIS_ENTHALPY
3243      is provided, holding the same information as BASIS_ENTHALPY but using
3244      the Harris energy instead of the Kohn-Sham energy.
3245
3246
3247      The energy criteria are implemented using "convergers", new objects
3248      defined and implemented in m_convergence.f90. It is probably overkill
3249      as of now, but it can be enhanced to provide new functionality.
3250
3251
3252      *  Added Andrew Walker's patch for convergence enforcement
3253
3254      If the fdf symbol SCFMustConverge is set to 'true', the program will abort
3255      if convergence is not achieved after the specified number of iterations
3256      (set with MaxSCFIterations, or currently 50 by default).
3257
3258      * Added explicit support for flush and abort for gfortran in pxf.F
3259    ------------------------------------------------------------
3260    revno: 192.1.61
3261    committer: Alberto Garcia <albertog@icmab.es>
3262    timestamp: Sun 2008-06-29 17:35:45 +0000
3263    message:
3264      Patch by Andrew Walker for maximum wall-clock time
3265      If MaximumWallClockTime is set (to a time specification of
3266      the form
3267
3268           15 s
3269           7  mins
3270           2  hours
3271           3  days
3272           ...      )
3273
3274      the program will abort if the specific wall-time is exceeded.
3275      The checks are done with the granularity of the calls to 'timer' (i.e.,
3276      there might be some slack). If the maximum time is 0 (the default), or is
3277      negative, the time is unlimited.
3278
3279
3280      * Added -DFC_HAVE_FLUSH -DFC_HAVE_ABORT to the gfortran*.make files
3281    ------------------------------------------------------------
3282    revno: 192.1.60
3283    committer: Alberto Garcia <albertog@icmab.es>
3284    timestamp: Sun 2008-06-29 16:36:16 +0000
3285    message:
3286      Integration of new STM-images code. Better makefiles.
3287      Util/STM/ol-stm contains the code by Pablo Ordejon and Nicolas Lorente
3288      that implements the Tersoff-Hamann approximation to STM images, with a
3289      previous step of extrapolation of wave functions from a reference
3290      plane. It is thus more accurate than the simple code to be found now
3291      in Util/STM/simple-stm.
3292
3293      Note that for now the fftw3 library needs to be available for this
3294      code to work.
3295
3296      Bug fixes found upon integration:
3297
3298      - Bug fix in Util/STM/ol-stm/Src/extrapol.f: the interpretation of the
3299      layout of the lattice vectors in the "cell" array was wrong.
3300
3301      - fftw3 "estimation" call moved outside a loop in extrapol.f (there is
3302      more scope for optimization here).
3303
3304      * The makefiles for several utilities have been streamlined,
3305      and the compilation of the ol-stm program uses a VPATH
3306      functionality to avoid duplicating code in the top-level
3307      Src directory. The old neighb/ranger routines are retained for now.
3308
3309      Some changes were needed to implement this correctly:
3310
3311      iodm.F:
3312
3313      - Removed support for old-style control files.
3314      - Wrapping of LocalToGlobalOrbital call in iodm.F in a MPI preprocessor block.
3315
3316      spher_harm.f: Used dot_product instead of ddot.
3317
3318      * Other changes:
3319
3320      Src/Sys/cscs-ibm-blanc.make: netcdf compilation.
3321      Util/Grid/makefile: more targets, FC_SERIAL support.
3322      Util/Macroave/Src/Makefile: FC_SERIAL support.
3323
3324      Fix for Finisterrae .make file and .sge script in Tests/Scripts.
3325    ------------------------------------------------------------
3326    revno: 192.1.59
3327    committer: Alberto Garcia <albertog@icmab.es>
3328    timestamp: Sun 2008-06-29 15:52:48 +0000
3329    message:
3330      A faster diagk with eigenvector storage
3331      The  new k-point-mode diagonalization routine diagk_file stores
3332      the eigenvectors on file to avoid re-computation after fermi-level
3333      determination. The file is in netCDF form, allowing a more
3334      flexible dispatching of eigenvectors to and from the master node.
3335      (At the time of building the new density matrix, the eigenvectors
3336      are read by and transferred from the root node in blocks.)
3337
3338      This routine should be very useful for relatively large systems, but
3339      the speedup is noticeable for all but the very small.
3340
3341      In order to use the new routine, netCDF support should be compiled in,
3342      and the symbol UseNewDiagk must be set to "true" in the fdf
3343      file. Specifying a number of eigenvectors to store is possible through
3344      the symbol NumberOfEigenstates. Note that for now, for safety, all
3345      eigenvectors for a given k-point and spin are computed by the
3346      diagonalization routine, but only that number specified by the user
3347      are stored. If they are insufficient, the program stops.  A rule of
3348      thumb to select the number of eigenvectors to store is to count the
3349      number of electrons and divide by two, and then apply a "safety
3350      factor" of around 1.1-1.2 to take into account fractional occupations
3351      and band overlaps.
3352
3353      A new file "OCCS" is produced with information about the number of
3354      states occupied.
3355
3356      Note that this routine is NOT yet set up to be used for band-structure
3357      computations, or to "write out" wavefunctions. It should only be used
3358      in the SCF loop, i.e., from routine "diagon".
3359
3360      The old diagk routine is kept, for use in smaller systems and to be
3361      called from driver routines which provide other functionality.
3362
3363      The size of the transfer block is set to n_eigenvectors/Nodes (note
3364      that the user is responsible for setting n_eigenvectors). The loops in
3365      the density-matrix building section have been rearranged. Now each DM
3366      scan loop (with potential inefficiencies for indirection) has more
3367      work to do, and it is no longer cost-effective to fill the dense
3368      matrices Dk and Ek first.
3369
3370      The size of the block could in principle be increased for free to
3371      Min(no_l), and psi_block made into a pointer to Haux. Preliminary
3372      tests seem to indicate a lower performance, however (?).
3373
3374      To Do:
3375
3376      Clarify the use of work arrays. Haux and Saux should probably be allocated
3377      inside the diagonalization routines, and not in diagon.
3378
3379
3380      * The timing sections have been split into "build HS", "eigenvalues/eigenvectors"
3381      and "buildD" components.
3382    ------------------------------------------------------------
3383    revno: 192.1.58
3384    committer: Alberto Garcia <albertog@icmab.es>
3385    timestamp: Sun 2008-06-29 13:51:22 +0000
3386    message:
3387      NetCDF I/O of Grid magnitudes. Charge-density re-starts
3388      The new module iogrid_netcdf implements a general-purpose dumper of
3389      grid magnitudes in netCDF format. If netCDF support is enabled, files
3390      with extension .grid.nc are produced for whatever grid magnitude is
3391      requested to be saved by the user (charge density (Rho), deformation
3392      density (DeltaRho), potential, etc).
3393
3394      The use of grid descriptors for each node and the addressable netCDF
3395      file format greatly simplify the communication needs for the output of
3396      grid variables. Module iogrid_netcdf implements a "grid descriptor
3397      calculator" for the standard uniform distribution, but the routine
3398      which outputs grid functions is in principle able to work with any
3399      distribution.
3400
3401      Util/Grid contains new utilities for conversion and analysis
3402      of the .grid.nc files.
3403
3404      If the keywords SCF.Read.Charge.NetCDF or
3405      SCF.Read.Deformation.Charge.NetCDF are true, the charge density
3406      (respectively the deformation charge density) is read from file
3407      Rho.IN.grid.nc (respectively DeltaRho.IN.grid.nc).
3408
3409      This feature allows the easier re-use of electronic-structure
3410      information from a previous run. It is not necessary that the basis
3411      sets are "similar" (a requirement if density-matrices are to be read
3412      in). The deformation charge is particularly useful to give a good
3413      starting point for slightly different geometries.
3414
3415      To Do:
3416
3417      - Improve the handling of possibly conflicting features, such as the
3418      use of the Harris functional or the mixing of the DM after the first
3419      iteration.
3420
3421      - Extend the flexibility of the reading options (to use them, for
3422      example, in molecular dynamics or phonon calculations). Currently the
3423      density is only read once, at the beginning of the run.
3424
3425      - Support reading of charge densities in FFT boxes of different sizes
3426        (via resampling). Auxiliary code for this is in Util/Grid/cdf_fft.f90.
3427
3428
3429
3430      IMPLEMENTATION NOTES:
3431
3432      The grid magnitudes are stored in single precision in the .grid.nc files.
3433
3434
3435      *  Added .make and script file for Finisterrae at CESGA
3436
3437      *  References to the NetCDF directory under Src and to NETCDF_INTERFACE
3438         in the Makefile have been removed. The interface provided by NetCDF itself
3439         is now used.
3440    ------------------------------------------------------------
3441    revno: 192.1.57
3442    committer: Alberto Garcia <albertog@icmab.es>
3443    timestamp: Sun 2008-06-29 13:02:23 +0000
3444    message:
3445      Bug fix in grid2val. Added permute program to Macroave suite.
3446
3447      * Fix bug in grid2val (utility to compute values of grid functions
3448        at arbitrary points).
3449
3450      The cell vectors were declared as single precision, while in fact they
3451      are stored as double precision by Siesta.
3452
3453      Added also tips on compilation.
3454
3455      * Added permute.F program to Macroave suite
3456
3457      Sometimes it is useful to have "x" as the direction perpendicular to
3458      the slab. Macroave is hard-wired to work with "z", so the program
3459      "permute.F" has been written to carry out a preliminary rotation of
3460      the axes in the grid file.
3461
3462      Streamlined the compilation steps in Util/Macroave/Src.
3463    ------------------------------------------------------------
3464    revno: 192.1.56
3465    committer: Alberto Garcia <albertog@icmab.es>
3466    timestamp: Sun 2008-06-29 12:50:34 +0000
3467    message:
3468      NetCDF I/O for DM, H, and S
3469      Experimental support for DM output in netCDF form, optionally with
3470      complete history of a SCF cycle.
3471
3472      The netCDF format allows for flexible and portable I/O, and supports
3473      the extension of arrays into a "time-record" dimension.
3474
3475      A DM-only netCDF file (DM.nc) with the same information as the
3476      traditional DM file is created if Write.DM.NetCDF is 'true' (default
3477      with netCDF support). In this case, the DM values are written in
3478      routine mixer (as is common practice in Siesta, despite the fact that
3479      the resulting DM does not correspond to the last electronic structure
3480      computed).
3481
3482      If WriteDMHS.NetCDF is true (default with netCDF support), a DMHS.nc
3483      file containing the overlap matrix S, DM_in, H, and DM_out is written
3484      to in compute_dm, right after the computation of DM_out.
3485
3486      The default in both cases is not to use the optional time dimension
3487      and overwrite the previous SCF step's information.
3488      To keep the whole history of (the last) SCF cycle, use
3489      WriteDM.History.NetCDF  or WriteDMHS.History.NetCDF, respectively.
3490      The DMHS history might be useful to diagnose SCF convergence issues.
3491      (See new test Test/h2o_netcdf)
3492
3493      With the new DM to netCDF (dm2cdf) and netCDF to DM (cdf2dm) converters in
3494      the Util/DensityMatrix directory, the information in the .nc files can be easily converted
3495      to and from the legacy DM format, allowing the re-use of DM information
3496      in computers with incompatible floating point formats.
3497
3498      Util/SCF/dm.py is a simple example of processing of netCDF with a Python script.
3499
3500      To use the netCDF functionality, Siesta must have been compiled with
3501      the appropriate netCDF libraries.  Example .make files can be found in
3502      the Src/Sys directory (notably gfortran-netcdf.make and
3503      marenostrum-mpi-netcdf-XX.make files).
3504
3505      The .nc files can also be displayed with the shell utility "ncdump",
3506      installed by default when the netCDF library is compiled.
3507
3508
3509      IMPLEMENTATION NOTES:
3510
3511      - The DM, H, and S information is stored in the .nc files in *single precision*.
3512      To change this in the future, an fdf symbol might be used to trigger the replacement
3513      of "float" by "double" in the definition of the variables in the netCDF files. Care
3514      should be taken to adapt all the other utilities. Single precision seems to be
3515      perfectly adequate, however.
3516
3517      - No attempt has been made to optimize the memory use or allocation/deallocation
3518       overhead, giving priority to clarity. The netCDF format allows a huge simplification
3519      of the MPI communications involved in the I/O, so this is a minor issue.
3520
3521      - The functionality is included in the iodm_netcdf.F90 and iodmhs_netcdf.F90 files.
3522        The new flags are stored and processed in the siesta_options.F90 module.
3523    ------------------------------------------------------------
3524    revno: 192.1.55
3525    committer: Alberto Garcia <albertog@icmab.es>
3526    timestamp: Tue 2008-05-06 10:46:24 +0000
3527    message:
3528      Update of atom to 3.2.8: xml, optimization hooks, tutorial update.
3529      * Integrated Javier Junquera's XML-generating routines
3530        Added pseudoXML.f and supporting files.
3531        (Note that the XML support in Siesta itself is not yet implemented,
3532        pending retroffiting of the VCA and other enhancements. The relevant
3533        files have been put in a new directory 'Src/pseudo-xml'.
3534
3535      * Write pseudo wavefunctions in PSWFFMT
3536
3537      * Updated version.h to include the variable "atom_id", now used
3538        in various places to set the creator string.
3539
3540      * A simpler makefile has been written when XML support is not needed
3541      so that no symbols from the main Siesta directory need to be
3542      included. The full makefile is called makefile-xml. To use it it is
3543      only necessary to have built libwxml.a in the Src hierarchy of Siesta
3544      (after creating the necessary arch.make)
3545
3546      * ATOM now recognizes the FREE_FORMAT_RC_INPUT directive, useful
3547      for optimization runs.
3548
3549      * A new estimation of ps hardness (qmax) is written to FOURIER_QMAX file.
3550
3551      * The fourier area calculation has been moved to the "down" section,
3552      since the "up" potentials are not always generated.
3553
3554      * Avoid very small numbers that might need a three-character
3555      exponent field in formatted output.
3556
3557      * The Tutorial has been brought up to date, using the version employed
3558      in the latest Siesta schools. Note that the location of the
3559      scripts used to run the examples has changed. They are now in the
3560      Pseudo/atom/Tutorial/Utils directory.
3561
3562      * Extended the periodic-table structures in input.f and nucl_z.f
3563    ------------------------------------------------------------
3564    revno: 192.1.54
3565    committer: Alberto Garcia <albertog@icmab.es>
3566    timestamp: Tue 2008-05-06 10:25:52 +0000
3567    message:
3568      Make the production of small ionic files optional -- fdf.log
3569      * Files with prefix ORB, KB, CHCORE, SPLIT_SCAN, etc, and
3570      pseudopotential dump files, which are useful for plotting basis
3571      orbitals and other ion-related information, are now optional. To
3572      create them, the user should set
3573
3574       WriteIonPlotFiles T
3575
3576      in the fdf file.
3577
3578      Note that the same functionality is available in gen-basis.
3579
3580      The corresponding option variable "write_ion_plot_files" is now kept
3581      in an "atom-specific" options module, to avoid a dependency cascade.
3582
3583      * Fixed the makefile sections for some auxiliary programs.
3584
3585      * The file "out.fdf" has been renamed to "fdf.log"
3586    ------------------------------------------------------------
3587    revno: 192.1.53
3588    committer: Alberto Garcia <albertog@icmab.es>
3589    timestamp: Wed 2008-04-09 08:06:02 +0000
3590    message:
3591      Implemented a Grimme-type  molecular-mechanics potential for dispersion effects
3592      A dispersion potential of the Grimme type (similar to the C6 type but
3593      with a different damping function) has been implemented. See
3594      S. Grimme, J. Comput. Chem. Vol 27, 1787-1799 (2006)).
3595
3596      The parameters are specified in the MM.Potentials block, using the
3597      "Grimme" keyword.
3598
3599      Hooks for changing the "d" and "s6" parameters are provided
3600      (MM.Grimme.D and MM.Grimme.S6).
3601
3602      A minor cosmetic addition: the kind of molecular mechanics potential
3603      between species is now printed upon encoutering the relevant line in
3604      the block.
3605    ------------------------------------------------------------
3606    revno: 192.1.52
3607    committer: Alberto Garcia <albertog@icmab.es>
3608    timestamp: Tue 2008-04-08 14:53:26 +0000
3609    message:
3610      Changes for portability and cosmetics
3611      Patches applied:
3612
3613      Portability:
3614
3615        *  Use character(*) in MPI character modules.
3616
3617             Previously character(1) was used, leading to complaints by some compilers.
3618
3619      Usability:
3620
3621        *  Extra fdf symbol for struct_file input specification
3622
3623             The manual mentions "Use.Struct.File" as the relevant alias, but
3624             the code used "MD.Use.Struct.File". Both are now accepted.
3625
3626      Makefile and makefile templates:
3627
3628        *  Fix mixps section in Makefile
3629        *  Add .make file for snake at ICMAB
3630        *  Fix tabs in eth-hreidar-mpi.make
3631    ------------------------------------------------------------
3632    revno: 192.1.51
3633    committer: Alberto Garcia <albertog@icmab.es>
3634    timestamp: Sat 2008-03-08 23:45:12 +0000
3635    message:
3636      Remove 'multiple images' warning in gamma-point-only calculations
3637
3638      The calculation of the xij array (vector distances to interacting
3639      neighbors) was enabled in 2.5.1 also for the case of gamma-point-only
3640      calculations. This is needed for the post-processing of COOP curves.
3641      In a gamma-point-only calculation several atoms might still
3642      see images of themselves as interacting if the cell is not that
3643      big. The xijorb code warned about that, even though the calculation of
3644      the matrix elements is of course correct, as k=0 and there are no
3645      phase factors to worry about. The warning has been now turned off.
3646    ------------------------------------------------------------
3647    revno: 192.1.50
3648    committer: Alberto Garcia <albertog@icmab.es>
3649    timestamp: Sat 2008-03-08 23:43:29 +0000
3650    message:
3651      Fix the constraint of static C.M. in initial velocities
3652      Routine vmb sets the initial velocities according to an approximate
3653      Maxwell-Boltzmann distribution, with the extra constraint of static
3654      center of mass. Due to an oversight, the routine only enforced this
3655      constraint for the case of a single species. It has been fixed.
3656    ------------------------------------------------------------
3657    revno: 192.1.49
3658    committer: Alberto Garcia <albertog@icmab.es>
3659    timestamp: Fri 2008-01-11 16:22:45 +0000
3660    message:
3661      Proper fix of cell management for zmatrix case. Enthalpy cosmetics
3662      A recent previous patch broke the unit cell handling in the zmatrix case.
3663      It has been fixed.
3664
3665      The assorted "enthalpy" output has been rationalized,
3666      reserving the use of the word "enthalpy" for the original case
3667      of "target enthalpy".
3668
3669      (Fixed syntax error in std-test.mk)
3670    ------------------------------------------------------------
3671    revno: 192.1.48
3672    committer: Alberto Garcia <albertog@icmab.es>
3673    timestamp: Fri 2008-01-11 13:57:57 +0000
3674    message:
3675      Make diagonalization the default solution method regardless of size
3676      Make diagonalization the default solution method regardless of system size.
3677    ------------------------------------------------------------
3678    revno: 192.1.47
3679    committer: Alberto Garcia <albertog@icmab.es>
3680    timestamp: Fri 2008-01-11 13:52:05 +0000
3681    message:
3682      Fix test.mk scripts
3683      The std-test.mk script did not copy the output file to the main test directory.
3684      The bsc-test.mk did not remove all the scratch files.
3685
3686      Fixed a typo in the input to the si2x1h test.
3687    ------------------------------------------------------------
3688    revno: 192.1.46
3689    committer: Alberto Garcia <albertog@icmab.es>
3690    timestamp: Fri 2008-01-11 13:41:37 +0000
3691    message:
3692      Fix for structural supercell construction
3693      Due to the accidental mis-use of a module variable, the routine coor
3694      did not generate the supercell correctly when a %supercell block was used.
3695
3696      Added and additional warning if such a block is used when the structure is
3697      input in Zmatrix form.
3698    ------------------------------------------------------------
3699    revno: 192.1.45
3700    committer: Alberto Garcia <albertog@icmab.es>
3701    timestamp: Mon 2007-12-17 14:26:08 +0000
3702    message:
3703      Fix memory leak in dhscf
3704      The array dvxcdn was allocated but never deallocated in dhscf. Actually,
3705      it was never used in cellxc, so it has now been dimensioned trivially
3706      to (1,1,1). The bug was introduced in the bsc-master-2.1 branch, at
3707      patch 27.
3708    ------------------------------------------------------------
3709    revno: 192.1.44
3710    committer: Alberto Garcia <albertog@icmab.es>
3711    timestamp: Thu 2007-11-22 22:50:35 +0000
3712    message:
3713      New 'fdf' target in Makefile for tests.
3714      (E. Anglada)
3715
3716      New target for the test option: fdf calls.
3717      Requested by BSC so they can test the new fdf.
3718
3719      New files (new tests and missing xml output files for reference)
3720      A/ Tests/var_cell_stress
3721      A  Tests/Reference-xml/fire_benzene.xml
3722      A  Tests/Reference-xml/si_coop.xml
3723      A  Tests/var_cell_stress/.arch-ids/=id
3724      A  Tests/var_cell_stress/.arch-ids/makefile.id
3725      A  Tests/var_cell_stress/.arch-ids/var_cell_stress.fdf.id
3726      A  Tests/var_cell_stress/.arch-ids/var_cell_stress.pseudos.id
3727      A  Tests/var_cell_stress/makefile
3728      A  Tests/var_cell_stress/var_cell_stress.fdf
3729      A  Tests/var_cell_stress/var_cell_stress.pseudos
3730
3731
3732      Modified files
3733      M  Src/siesta_move.F : remove debug info
3734      M  Src/remove_intramol_pressure.f90 : remove debug info
3735      M  Tests/std-Makefile Xmlcheck enabled by default. New targets: fdf, all
3736      M  Tests/std-test.mk
3737      M  Tests/si2x1h/si2x1h.fdf New option
3738      M  Src/atom.f  Remove debug info.
3739
3740      (replayed patch 6 from outlier branch ref-2.4)
3741    ------------------------------------------------------------
3742    revno: 192.1.43
3743    committer: Alberto Garcia <albertog@icmab.es>
3744    timestamp: Thu 2007-11-22 22:40:45 +0000
3745    message:
3746      xml tester update (Eduardo Anglada)
3747      New files:
3748      A  Src/xmlparser/corresponding_node.f90
3749      A  Src/xmlparser/string_utilities.f90
3750
3751      Changes in the xml output:
3752      M  Src/state_analysis.F
3753      M  Src/siesta_move.F
3754      M  Src/setup_hamiltonian.F
3755      M  Src/siesta_forces.F
3756      M  Src/scfconvergence_test.F
3757      M  Src/post_scf_work.F
3758
3759      Changes in the xml tester:
3760      M  Src/wxml/m_wxml_core.f90
3761      M  Src/wxml/flib_wstml.f90
3762      M  Src/xmlparser/makefile
3763      M  Src/xmlparser/m_dom_element.f90
3764      M  Src/xmlparser/m_strings.f90
3765      M  Src/xmlparser/compare_m.f90
3766      M  Src/xmlparser/test.f90
3767
3768      Changes in the tests makefiles
3769      M  Tests/std-Makefile
3770      M  Tests/std-test.mk
3771
3772      Upgraded xml reference outputs:
3773      ...
3774
3775      (replayed patch-5 from outlier branch ref-2.4)
3776    ------------------------------------------------------------
3777    revno: 192.1.42
3778    committer: Alberto Garcia <albertog@icmab.es>
3779    timestamp: Thu 2007-11-22 21:46:40 +0000
3780    message:
3781      Fixes for denchar compilation and wavefunction output
3782      * The makefile section for denchar had several errors.
3783
3784      * siesta_analysis used maxwk as a local variable, instead of importing
3785        it from writewave, thus preventing the call to wwave from working.
3786
3787      * (NOTE: the need for a lattice constant or cell vectors in the fdf file
3788         if the wavefunctions need to be output should be removed)
3789
3790      (replayed patch-4 of outlier branch ref-2.4)
3791    ------------------------------------------------------------
3792    revno: 192.1.41
3793    committer: Alberto Garcia <albertog@icmab.es>
3794    timestamp: Thu 2007-11-22 21:36:31 +0000
3795    message:
3796      Fixed computation of chemical potential in O(N) (P.Ordejon)
3797      * Chempot, rather than updated, has been substituted by the version
3798      in the "cecam" branch of the 2.0 fixes branch. However, some constructions
3799      have been updated to the post-BSC-cleaning structure:
3800
3801      - Use of the smarter mneighb routine.
3802      - Some arrays are now pointers instead of allocatables.
3803
3804      * A new test (Tests/h2o_4) has been added.
3805
3806      * NOTE that the new code does not yet work in Parallel.
3807
3808      (replayed patch-3 of outlier branch ref-2.4)
3809    ------------------------------------------------------------
3810    revno: 192.1.40
3811    committer: Alberto Garcia <albertog@icmab.es>
3812    timestamp: Thu 2007-11-22 21:34:42 +0000
3813    message:
3814      Optimization enhancements (fire algorithm, step control).
3815
3816      * Step-size control has been add to the Broyden optimizers (Standard, ZM,
3817        and Cell-only). There is no theoretical justification for this procedure,
3818        so the Hessian is not likely to improve very much... it is probably best
3819        to combine a size-limited CG series with another small-Jinv Broyden series.
3820
3821      * New FORCE_STRESS for direct output of the energy, forces, and stress
3822        (in internal Siesta units).
3823
3824      * Re-implemented the FIRE optimization algorithm, both for geometry
3825        and (experimentally) for SCF.
3826
3827        The advantages for the SCF mixing are:
3828
3829        * Trivial algorithm (also in parallel)
3830        * Initial dt can be just set to alpha.
3831        * Adaptive changes to alpha.
3832        * There should be no need for kicks.
3833
3834        (Set DM.FIRE.Mixing to T to enable)
3835        Could also set DM.Fire.Nmin  to 2, 3, 4  instead of the default 5
3836        (Actually, this number could be akin to the DM.Number{Pulay,Broyden}...)
3837
3838      * Added .make files for opterons and matgas cluster at ICMAB in parallel.
3839
3840      * Compilation fixes(uncovered by a new version of g95)
3841
3842        * External statements referring to obsolete names
3843        * Continuation lines.
3844        * Statement order.
3845
3846      (replayed patch-2 of outlier branch ref-2.4)
3847
3848    ------------------------------------------------------------
3849    revno: 192.1.38
3850    tags: siesta-2.5.0
3851    committer: Alberto Garcia <albertog@icmab.es>
3852    timestamp: Thu 2007-11-22 21:28:08 +0000
3853    message:
3854      tag of siesta@uam.es--2006/siesta-devel--reference--2.3--patch-2
3855    ------------------------------------------------------------
3856    revno: 192.1.37
3857    committer: Alberto Garcia <albertog@icmab.es>
3858    timestamp: Thu 2007-11-22 17:19:37 +0000
3859    message:
3860      Add a proper account of the BSC changes that went into the merge
3861      In the Docs/CHANGES file, a new section detailing the changes made
3862      along the BSC branches has been prepared, and the history of the
3863      reference--2.1 branch after the branching has been reinstated.
3864      The BSC section is in chronological order, to ease the understading.
3865    ------------------------------------------------------------
3866    revno: 192.1.36
3867    committer: Alberto Garcia <albertog@icmab.es>
3868    timestamp: Wed 2007-11-21 11:45:49 +0000
3869    message:
3870      Direct merge into master branch of initial BSC changes
3871      The changes along the BSC branches, up to the end of the restructuring
3872      of siesta.F and associated changes, have been merged into a direct
3873      descendant of the main development line. The BSC work originally
3874      started as a branch of siesta-devel--reference--2.1--patch-29. Development
3875      along 2.1 continued, and a new continuation branch 2.3 has been created
3876      specifically for this merge.
3877
3878      Main patches applied:
3879
3880       * ref@bsc--2007/siesta-bsc--master--2.1--base-0
3881         tag of siesta@uam.es--2006/siesta-bsc--reference--2.1--patch-7
3882
3883       * ref@bsc--2007/siesta-bsc--master--2.1--patch-1
3884         Use of xalast in analysis routines. Exit of geometry loop
3885
3886       * ref@bsc--2007/siesta-bsc--master--2.1--patch-2
3887         Creation of a module to hold the siesta options
3888
3889       * ref@bsc--2007/siesta-bsc--master--2.1--patch-3
3890         New geometry module
3891
3892       * ref@bsc--2007/siesta-bsc--master--2.1--patch-4
3893         New stub module for sparse matrices
3894
3895       * ref@bsc--2007/siesta-bsc--master--2.1--patch-5
3896         More options for running tests
3897
3898       * ref@bsc--2007/siesta-bsc--master--2.1--patch-6
3899         Encapsulation of k-point handling
3900
3901       * ref@bsc--2007/siesta-bsc--master--2.1--patch-7
3902         Initialize iza in struct_init
3903
3904       * ref@bsc--2007/siesta-bsc--master--2.1--patch-8
3905         Siesta_todo slimming by M. Quero
3906
3907       * ref@bsc--2007/siesta-bsc--master--2.1--patch-9
3908         Fix import of no_l in born_charge
3909
3910       * ref@bsc--2007/siesta-bsc--master--2.1--patch-10
3911         Some conversions to Fortran90 by M. Quero
3912
3913       * ref@bsc--2007/siesta-bsc--master--2.1--patch-11
3914         Fourth session at the BSC
3915
3916       * ref@bsc--2007/siesta-bsc--master--2.1--patch-12
3917         Clarification of the scope of the stress variables
3918
3919       * ref@bsc--2007/siesta-bsc--master--2.1--patch-13
3920         Creation of siesta_forces
3921
3922       * ref@bsc--2007/siesta-bsc--master--2.1--patch-14
3923         Replacement of some allocatables by pointers and automatics
3924
3925       * ref@bsc--2007/siesta-bsc--master--2.1--patch-15
3926         New m_energies and m_steps modules. Back to old k-point behavior
3927
3928       * ref@bsc--2007/siesta-bsc--master--2.1--patch-16
3929         Merge of removal of integer and real variables from siesta_todo
3930
3931       * ref@bsc--2007/siesta-bsc--master--2.1--patch-17
3932         Fixes for troublesome bugs in reference code
3933
3934       * ref@bsc--2007/siesta-bsc--master--2.1--patch-18
3935         Final cleanup of siesta_todo
3936
3937       * ref@bsc--2007/siesta-bsc--master--2.1--patch-19
3938         Add character(len=*) routines to alloc.F90
3939
3940       * ref@bsc--2007/siesta-bsc--master--2.1--patch-20
3941         Pointers in fixed and setspatial. si2x1h test added to bsc-Makefile
3942
3943       * ref@bsc--2007/siesta-bsc--master--2.1--patch-21
3944         Re-organization of pulay module
3945
3946       * ref@bsc--2007/siesta-bsc--master--2.1--patch-22
3947         Reorganization of hsparse/xijorb calls with new neighbor module
3948
3949       * ref@bsc--2007/siesta-bsc--master--2.1--patch-23
3950         VPATH-aware compilation for multiple executable versions
3951
3952       * ref@bsc--2007/siesta-bsc--master--2.1--patch-24
3953         Allocatables to pointers  I
3954
3955       * ref@bsc--2007/siesta-bsc--master--2.1--patch-25
3956         Allocatables to pointers  II
3957
3958       * ref@bsc--2007/siesta-bsc--master--2.1--patch-26
3959         Allocatables to pointers III
3960
3961       * ref@bsc--2007/siesta-bsc--master--2.1--patch-27
3962         Allocatables to pointers IV -- new neighbor code + nspecies fix
3963
3964       * ref@bsc--2007/siesta-bsc--master--2.1--patch-28
3965         Explicit array-ness in calls in initatom and cellxc
3966
3967       * ref@bsc--2007/siesta-bsc--master--2.1--patch-29
3968         Fix wrong allocations in cellxc.F
3969
3970       * ref@bsc--2007/siesta-bsc--master--2.1--patch-30
3971         Explicit array extents in initatom.f
3972
3973       * ref@bsc--2007/siesta-bsc--master--2.1--patch-31
3974         Avoid shrinking of density-matrix arrays for extrapol.
3975
3976       * ref@bsc--2007/siesta-bsc--master--2.1--patch-32
3977         Fix typo in state_init.F
3978
3979       * ref@bsc--2007/siesta-bsc--master--2.1--patch-33
3980         Execute SCF loop when nscf=1
3981
3982       * ref@bsc--2007/siesta-bsc--master--2.1--patch-34
3983         Clarify bounds of SCF loop in siesta_forces.
3984
3985       * ref@bsc--2007/siesta-bsc--master--2.2--base-0
3986         tag of ref@bsc--2007/siesta-bsc--master--2.1--patch-31
3987
3988       * ref@bsc--2007/siesta-bsc--master--2.3--base-0
3989         tag of ref@bsc--2007/siesta-bsc--master--2.2--base-0
3990
3991       * ref@bsc--2007/siesta-bsc--master--2.3--patch-1
3992         Prepare CHANGES file
3993
3994       * ref@bsc--2007/siesta-bsc--master--2.3--patch-2
3995         Merge patch-log for patch-30 from 2.1
3996
3997       * ref@bsc--2007/siesta-bsc--master--2.3--patch-3
3998         New treatment of fractional atoms in VCA. Bug fix in lmxo
3999
4000       * ref@bsc--2007/siesta-bsc--master--2.3--patch-4
4001         Re-enabling of kgrid update in variable-cell calculations
4002
4003       * ref@bsc--2007/siesta-bsc--master--2.3--patch-5
4004         Fix typo in state_init.F
4005
4006       * ref@bsc--2007/siesta-bsc--master--2.3--patch-6
4007         Merge filtering package by Eduardo Anglada
4008
4009       * ref@bsc--2007/siesta-bsc--master--2.3--patch-7
4010         Add graphite_c6_full test for more realistic vdW test
4011
4012       * ref@bsc--2007/siesta-bsc--master--2.3--patch-8
4013         Add patchlog for k-point fix
4014
4015       * ref@bsc--2007/siesta-bsc--master--2.3--patch-9
4016         Fix of zmatrix code to deal with degenerate case
4017
4018       * ref@bsc--2007/siesta-bsc--master--2.3--patch-10
4019         Units conversion in Util/Optical/optical.f. Scripts. Cosmetics
4020
4021       * ref@bsc--2007/siesta-bsc--master--2.3--patch-11
4022         Implementation of basis_enthalpy calculation. Zmatrix dependency
4023
4024       * ref@bsc--2007/siesta-bsc--master--2.3--patch-12
4025         Option to use fractional rc's for multiple zeta
4026
4027       * ref@bsc--2007/siesta-bsc--master--2.3--patch-13
4028         Sync vpath changes. Update siesta.tex
4029
4030       * ref@bsc--2007/siesta-bsc--master--2.3--patch-14
4031         Fix tag in MPI send/receive in mulliken
4032
4033       * ref@bsc--2007/siesta-bsc--master--2.3--patch-15
4034         Option to use fractional rc's for multiple zeta
4035
4036       * ref@bsc--2007/siesta-bsc--master--2.3--patch-16
4037         Merge of XML tester by Eduardo Anglada. Portability fixes
4038
4039       * ref@bsc--2007/siesta-bsc--master--2.3--patch-17
4040         Fix marenostrum-mpi.make. Syntax in compare_m.f90
4041
4042       * ref@bsc--2007/siesta-bsc--master--2.3--patch-18
4043         MareNostrum fixes. zdrot to blas. obj_setup. compare_m syntax
4044
4045       * ref@bsc--2007/siesta-bsc--master--2.3--patch-19
4046         Sync to bsc--2.1. Change banner in CHANGES to bsc--2.3
4047
4048       * ref@bsc--2007/siesta-bsc--master--2.3--patch-20
4049         Execute SCF loop when nscf=1
4050
4051       * ref@bsc--2007/siesta-bsc--master--2.3--patch-21
4052         Refinements of XML tester. New ioncat program
4053
4054       * ref@bsc--2007/siesta-bsc--master--2.3--patch-22
4055         Undef var in kgridinit, iohs MPI write, pdosg array bound, Origin shift
4056
4057       * ref@bsc--2007/siesta-bsc--master--2.3--patch-23
4058         Zmatrix optimization enhancements. Sign change in MM stress.
4059
4060       * ref@bsc--2007/siesta-bsc--master--2.3--patch-24
4061         Clarify bounds of SCF loop in siesta_forces.
4062
4063       * ref@bsc--2007/siesta-bsc--master--2.3--patch-25
4064         Avoid MP-grid permutations in trivial gamma case
4065
4066       * ref@bsc--2007/siesta-bsc--master--2.3--patch-26
4067         Sync to reference--2.1
4068
4069       * siesta@uam.es--2006/siesta-bsc--reference--2.1--base-0
4070         tag of siesta@uam.es--2006/siesta-devel--reference--2.1--patch-29
4071
4072       * siesta@uam.es--2006/siesta-bsc--reference--2.1--patch-1
4073         First stage of siesta.F splitting at BSC
4074
4075       * siesta@uam.es--2006/siesta-bsc--reference--2.1--patch-2
4076         Created struct_init for initial geometry setup. New test force_2
4077
4078       * siesta@uam.es--2006/siesta-bsc--reference--2.1--patch-3
4079         Consolidate geometry updates at the end of loop
4080
4081       * siesta@uam.es--2006/siesta-bsc--reference--2.1--patch-4
4082         Initialize vol2 correctly in m_check_supercell.f
4083
4084       * siesta@uam.es--2006/siesta-bsc--reference--2.1--patch-5
4085         Kgrid setup streamlined. Bands. Proximity check. Hsparse allocation
4086
4087       * siesta@uam.es--2006/siesta-bsc--reference--2.1--patch-6
4088         Work by Manuel Quero before the meeting on Feb 7th
4089
4090       * siesta@uam.es--2006/siesta-bsc--reference--2.1--patch-7
4091         Moved the Born-effective-charge code
4092    ------------------------------------------------------------
4093    revno: 192.1.35
4094    committer: Alberto Garcia <albertog@icmab.es>
4095    timestamp: Tue 2007-06-12 08:04:53 +0000
4096    message:
4097      tag of siesta@uam.es--2006/siesta-devel--reference--2.1--patch-63
4098
4099____________________________________________________________________
4100** CHANGES ALONG ref@bsc--2007/siesta-bsc--master--2.3
4101--------------------------------------------------------------------
4102(ARCH usage ended here)
4103
41042007-07-25 14:10:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-40
4105
4106Summary: Proper behavior of fdf_string
4107
4108fdf_string should return all the characters in the input line,
4109apart from the label, and it should not complain if the
4110return string is empty.
4111
4112To fix this, a new function "characters" has been implemented
4113in fdf/parse.F90.
4114
41152007-07-20 22:00:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-39
4116
4117Summary: Clarification of INCFLAGS for fdf compilation. Basis_io fix
4118
4119* Removal of ionode test in basis_io.F.
4120
4121* INCFLAGS now adds only "-I../" to the global INCFLAGS.
4122
4123* Update of finisterrae.make
4124
41252007-07-20 21:30:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-38
4126
4127Summary: Updated test.mk files. New finisterrae.make
4128
4129Fixed test.mk files for use with standard input for fdf.
4130
4131New finisterrae.make file.
4132
41332007-07-20 18:45:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-37
4134
4135Summary: FDF can now process standard input
4136
4137To recover the old fdf behavior, reinit now dumps
4138stdin to a temporary file.
4139
4140fdf_readcluster assumes that the root node is in charge of the input
4141file.
4142
4143If MPI is enabled, the symbol CLUSTER is automatically
4144defined in fdf.F90.
4145
41462007-07-18 14:15:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-36
4147
4148Summary: Change in internal representation of fdf lines
4149
4150To avoid excessive dynamic memory use, the "parsed line" derived type
4151now uses a single MAX_LENGTH (currently 132) string to hold a line,
4152and two integer arrays of length MAX_NTOKENS (currently 50) to index
4153the positions of the tokens.
4154
41552007-07-18 12:15:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-35
4156
4157Summary: Fixes in spher_harm interface and in matel
4158
4159Routine ylmexp in spher_harm had an old-style assumed-size
4160specification for its last array argument. This was "needeed"
4161in order to be able to abuse the meaning of the argument:
4162the actual argument could be two-dimensional or one-dimensional
4163in the calls from matel.
4164
4165Now, matel always calls the routine with a two-dimensional
4166array, which is moreover specified as
4167
4168       F(:,column:)
4169
4170in order to avoid the creation of array temporaries by the
4171compiler.
4172
4173The pointer FFY in matel has thus been redeclared with a dummy
4174first dimension  (typically allocated as FFY(1:1,1:ubound)).
4175
4176In ylmexp, the interface has been changed, from
4177
4178       real(dp), dimension(ir1:nr,*), intent(out)  :: flm
4179
4180to
4181       real(dp), dimension(ir1:,:), intent(out)  :: flm
4182
4183The lower bound ir1 is another of the arguments of the call,
4184so the proper lbound is used.
4185
41862007-07-17 22:45:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-34
4187
4188Summary: Merged new fdf library and appropriate calls
4189
4190The new fdf library by Raul de la Cruz has been merged.
4191It has been necessary to change lots of fdf calls, notably
4192those dealing with old-style block reading.
4193
4194Some issues remain:
4195
4196* The name of the file to read from is HARDWIRED to "INPUT.fdf" for
4197now. Both bsc-test.mk and std-test.mk have been changed to reflect
4198this. The INPUT_DEBUG trick also works.
4199
4200* Compilation in parallel must use the -DCLUSTER preprocessor
4201directive.
4202
4203* There is still a bug in the reading of a Zmatrix.
4204
4205* There are probably more bugs in sections of the code not
4206  exercised yet. Marenostrum compilation of this merged
4207  version has not been fully tested yet.
4208
4209* The compiler makes temporary copies of arrays in some
4210  calls.
4211
4212* The tla ids of the fdf files are new. Care should be taken
4213  when merging to the main trunk if the history is to be
4214  kept without breaks (even though the changes are so substantial
4215  that a clear break might be advisable...).
4216
4217* The merge was done using a direct "tla apply-delta" with
4218  (siesta-bsc) jacobi-davidson and fdf-work as FROM and TO,
4219  respectively, after having synched the fdf-work branch
4220  with previous work on master-2.3 and with jacobi-davidson.
4221  A direct star-merge was precluded by this cherry-picking.
4222
4223Patches applied:
4224
4225 * ref@bsc--2007/siesta-bsc--fdf-work--2.3--base-0
4226   tag of ref@bsc--2007/siesta-bsc--master--2.3--patch-29
4227
4228 * ref@bsc--2007/siesta-bsc--fdf-work--2.3--patch-1
4229   Merge of fdf changes by Raul
4230
4231 * ref@bsc--2007/siesta-bsc--fdf-work--2.3--patch-2
4232   Second patch by Raul
4233
4234 * ref@bsc--2007/siesta-bsc--fdf-work--2.3--patch-3
4235   Re-used MPI pre-processor macro in fdf
4236
4237 * ref@bsc--2007/siesta-bsc--fdf-work--2.3--patch-4
4238   Fixes for is_integer, fdf_physical, INPUT.fdf
4239
4240 * ref@bsc--2007/siesta-bsc--fdf-work--2.3--patch-5
4241   Synch to master-2.3-31
4242
4243 * ref@bsc--2007/siesta-bsc--fdf-work--2.3--patch-6
4244   Synch to jacobi-davidson-patch-2
4245
4246 * ref@bsc--2007/siesta-bsc--fdf-work--2.3--patch-7
4247   Synch to jacobi-davidson-patch-3 (allocs)
4248
4249 * ref@bsc--2007/siesta-bsc--fdf-work--2.3--patch-8
4250   Synch to jacobi-davidson-11. Compilation and test fixes
4251
42522007-07-17 18:00:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-33
4253
4254Summary: Fix spher_harm interface. Tests and .make for Jacobi-Davidson
4255
4256* spher_harm has gone back to the version before allocation optimization.
4257  Some very strange interaction with matel resulted in crashes and
4258  bad results. The issue is still under investigation.
4259
4260* New test h2o_jacobi.
4261
4262* Src/Sys/marenostrum-mpi-metis-64.make
4263
42642007-07-17 17:30:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-32
4265
4266Summary: Fixes to grid-work. Jacobi-Davidson. Alloc changes
4267
4268Omnibus patch:
4269
4270--- Some fine-tunning of the grid-load-balancing work.
4271
4272--- Implementation of the Jacobi-Davidson algorithm
4273    More work is needed to improve the convergence
4274    and to generalize it to non-gamma-point calculations
4275    and to mixed-spin calculations.
4276
4277--- More conversions of allocatables to pointers.
4278
4279
4280NOTE: Some issues (matel, spher_harm intefaces) remain.
4281      They will hopefully be fixed in the following patches.
4282
4283Patches applied:
4284
4285 * ref@bsc--2007/siesta-bsc--jacobi-davidson--2.3--patch-1
4286   Removed obsolete grid-work routines
4287
4288 * ref@bsc--2007/siesta-bsc--jacobi-davidson--2.3--patch-2
4289   Added Jacobi-Davidson-related routines
4290
4291 * ref@bsc--2007/siesta-bsc--jacobi-davidson--2.3--patch-3
4292   Mostly memory allocation changes, except atomic routines
4293
4294 * ref@bsc--2007/siesta-bsc--jacobi-davidson--2.3--patch-4
4295   Update of gmres in jacobi-davidson
4296
4297 * ref@bsc--2007/siesta-bsc--jacobi-davidson--2.3--patch-5
4298   Avoid excessive number of allocs/deallocs in spher_harm
4299
4300 * ref@bsc--2007/siesta-bsc--jacobi-davidson--2.3--patch-6
4301   Change in array calling format for ylmexp in matel
4302
4303 * ref@bsc--2007/siesta-bsc--jacobi-davidson--2.3--patch-7
4304   Temporary scaffolding for continuation after Jacobi-Davidson diag.
4305   (Not really used. Rogeli Grima implemented it in his own way)
4306
4307 * ref@bsc--2007/siesta-bsc--jacobi-davidson--2.3--patch-8
4308   Fixes for serial compilation. Continue in diagg
4309
4310 * ref@bsc--2007/siesta-bsc--jacobi-davidson--2.3--patch-9
4311   Matel: ylmexp calling sequence changed again
4312
4313 * ref@bsc--2007/siesta-bsc--jacobi-davidson--2.3--patch-10
4314   Avoid allocating zero-size array in matel.
4315
4316 * ref@bsc--2007/siesta-bsc--jacobi-davidson--2.3--patch-11
4317   Add lapack routines to Libs/ . Cosmetic fixes
4318
4319 * ref@bsc--2007/siesta-bsc--jacobi-davidson--2.3--patch-12
4320   Fixes for serial compilation
4321
4322 * ref@bsc--2007/siesta-bsc--jacobi-davidson--2.3--patch-13
4323   Implementation of density-matrix construction in jacobi-davidson
4324
43252007-07-12 13:00:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-31
4326
4327Summary: Integration of grid-work by Rogeli Grima up to May 20, 2008
4328
4329Commit log for ref@bsc--2007/siesta-bsc--grid-work--2.3--patch-4
4330Integration of work by Rogeli Grima up to April 10, 2008
4331
4332
4333* More "reset" routines to liberate arrays from several
4334  modules in a new routine "siesta_end":
4335
4336      use m_pulay,         only : resetPulayArrays
4337      use moreMeshSubs,    only : resetMeshDistr
4338      use densematrix,     only : resetDenseMatrix
4339      use sparse_matrices, only : resetSparseMatrices
4340      use m_matel,         only : resetMatelArrays
4341      use meshdscf,        only : resetDscfPointers
4342      use m_diagon,        only : resetDiagonPointers
4343      use m_fixed,         only : resetFixedPointers
4344
4345* Use explicit upper bounds in arrays when they are arguments of a routine,
4346  instead of the a(lb:) syntax (atom.f, initatom.f...)
4347
4348* Turn matel into a module and make {x,y,z}phiatom private routines.
4349
4350* Use pointers instead of allocatable arrays in more places (this task is not yet completed).
4351
4352* Cosmetic changes (whitespace) in several places.
4353
4354Assorted Bug fixes:
4355
4356* It is now possible to compile the code in serial form.
4357
4358* Bug fix in dipole and efield: The new option to partition the mesh
4359along X was not taken into account.
4360
4361* Bug fix in dhscf: Upon entry to cellxc, the data should be in "non-clustered" form.
4362
4363* Extra auxiliary array in the call to integrator in arwf.
4364
4365* parallelsubs and rhooda now have extension .F since they contain (temporarily?) preprocessor
4366  directives.
4367
4368* distriphionmesh.F : some re-ordering of preprocessor ifdefs to avoid undeclared (or not set intent(out))
4369  variables in serial compilation.
4370
4371   [ Some problems remain:
4372                                Array BOX is wrongly dimensioned when using 1 processor.
4373                                Efield code does not work well yet
4374   ]
4375
4376Commit log for ref@bsc--2007/siesta-bsc--grid-work--2.3--patch-5
4377Some changes by Rogeli, up to May 20, 2008
4378
4379arw:    Conversion to dp
4380distriphionmesh:  mpi defs
4381efield:  Cosmetics
4382normalize_dm: cosmetics
4383overlap:  Initialize Si (not really needed) + cosmetics
4384scfconvergence_test: timing cosmetics
4385siesta_forces: remove timing of scf_convergence_test
4386
4387
4388Commit log for ref@bsc--2007/siesta-bsc--grid-work--2.3--patch-6
4389Added MPI interfaces for eight-byte integers
4390
4391recomputelmesh.F and moremeshsubs.F need to use eight-byte integers. Added
4392the proper MPI interfaces.
4393
4394Precision.F now defines the parameter "i8b" to represent eight-byte integers.
4395
4396NOTE: For maximum portability, we need to replace "integer*8" by the
4397appropriate kind in "MPI/generate.sh".
4398
4399(+ updated CHANGES file with documentation of latest commits)
4400
44012008-02-14 10:44:41 GMT	Alberto Garcia <albertog@icmab.es>	patch-30
4402
4403Summary: Merge of grid-load-balancing work by R. Grima
4404
4405The grid is now split across all three dimensions.
4406New distribution "yes/or/no" optimal for cellxc, plus stencil
4407capabilities.
4408
4409* Initmesh:
4410C     Reset previous mesh distributions
4411      call resetMeshDistr( )
4412C     Create the first mesh distribution
4413      call initMeshDistr( nm=nm, oDistr=oDistr )
4414C     Find and sets local number of Mesh points of each kind
4415      call setMeshDistr( oDistr, nsm, nsp, nml, nmpl, ntml, ntpl )
4416
4417
4418* distriPhiOnMesh:
4419   We compute numphi: "number of orbitals with weight on each grid point"
4420
4421   Routine initMeshDistr creates two new partitions:
4422
4423     -> distribution 2: For rhoofd and vmat. load=numphi^2
4424     -> distribution 3: For cellxc. load : if (numphi>0) load=1 else load=0
4425
4426   If we need a stencil in cellxc, we will also set up a communications list
4427   with initMeshExtencil.
4428
4429* dhscf_init
4430    call setMeshDistr( 2,...) => We fix the 2nd distribution to generate  "Phi"
4431
4432    call setMeshDistr( 1,...) => We select the 1st (uniform) distribution to call
4433                                 Poison
4434    call distMeshData( 2, rhoatm, 1, rhoatm_seq, +1 ) => We switch rhoatm,
4435    which is in "clustered mode" and with the 2nd distribution, to sequential
4436    mode and the 1st distribution.
4437
4438    Finally we move back to the 2nd distribution
4439
4440* dhscf:
4441    call rhoofd
4442
4443    call setMeshDistr( 1 )
4444    call distMeshData( 2, DRho, 1, DRho_seq, +1 )
4445
4446    call poison
4447
4448    call distMeshData( 1,Vscf_seq,2, Vaux, -1 )
4449    call setMeshDistr( 3 )
4450    call distMeshData( 2, DRho,3, DRho_gga, 0 )
4451
4452    call cellxc
4453
4454    call setMeshDistr( 2 )
4455    call distMeshData( 3, Vscf_gga, 2, Vscf, 0 )
4456
4457    call vmat
4458
4459* cellxc
4460    Now it is possible to acquire the stencils of neighboring domains
4461    using different partitions
4462
4463    call distExtMeshData -> move data from "Dens" to "bdens"
4464    call gathExtMeshData -> move data from "Bvxc" to "VXC"
4465
4466ALSO
4467
4468* Experimental fix to cgwf.F by P. Ordejon, to increase stability
4469  of the O(N) algorithm.
4470
44712007-11-07 16:08:40 GMT	Alberto Garcia <albertog@icmab.es>	patch-29
4472
4473Summary:  Merge changes in Rogeli's archive
4474
4475Patches applied:
4476
4477 * ag@bsc--2007/setupH--agarcia--2.3--base-0
4478   tag of rgrima@bsc--2007/siesta-bsc--rgrima--2.3--patch-3
4479
4480 * ag@bsc--2007/setupH--agarcia--2.3--patch-1
4481   Create xalast unconditionally in siesta_move
4482
4483 * ag@bsc--2007/setupH--agarcia--2.3--patch-2
4484   Split of dhscf
4485
4486 * ag@bsc--2007/setupH--agarcia--2.3--patch-3
4487   Fix bug in harrisfun ifor flag
4488
4489 * ag@bsc--2007/setupH--agarcia--2.3--patch-4
4490   Cosmetic changes to dhscf.F
4491
4492 * rgrima@bsc--2007/siesta-bsc--rgrima--2.3--base-0
4493   tag of ref@bsc--2007/siesta-bsc--master--2.3--patch-26
4494
4495 * rgrima@bsc--2007/siesta-bsc--rgrima--2.3--patch-1
4496   Split of setup_hamiltonian
4497
4498 * rgrima@bsc--2007/siesta-bsc--rgrima--2.3--patch-2
4499   Fix bug in setup_hamiltonian
4500
4501 * rgrima@bsc--2007/siesta-bsc--rgrima--2.3--patch-3
4502   Go back on marenostrum.make changes
4503
4504 * rgrima@bsc--2007/siesta-bsc--rgrima--2.3--patch-4
4505   Merge of changes to dhscf.F during ICMAB session 26 July
4506
45072007-08-21 08:26:17 GMT	Alberto Garcia <albertog@icmab.es>	patch-28
4508
4509Summary: Fix array bound error in old_atmfuncs.f
4510
4511Patches applied:
4512
4513 * agarcia@siesta.arch--2006/siesta--optim-md--2.4--patch-14
4514   Fix array bound error in old_atmfuncs.f
4515
4516
45172007-06-12 12:50:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-27
4518
4519Summary: Added some load-balancing tests
4520
4521Added load_1, load_on, and load_particle in Tests.
4522
45232007-06-12 07:50:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-26
4524
4525Summary: Sync to reference--2.1
4526
4527Sync to pick up the patchlogs for patch-62 and -63.
4528
45292007-06-05 08:35:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-25
4530
4531Summary: Avoid MP-grid permutations in trivial gamma case
4532
4533For completeness, the effective Monkhorst-Pack grid is
4534printed even if only the gamma point is used. The algorithm
4535to generate it might sometimes permute the lattice vectors.
4536This is now corrected.
4537
45382007-06-05 08:30:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-24
4539
4540Summary: Clarify bounds of SCF loop in siesta_forces.
4541
4542The exit criterion of the scf loop in siesta_forces
4543has been clarified: It now exits before completing
4544the last scheduled iteration (i.e., iteration number
4545nscf) as it is assumed (notably for Harris-functional
4546calculations) that it corresponds to the final pass
4547for force and stress calculation.
4548
4549The check on the sign of wmix has been deleted.
4550
45512007-06-05 13:5:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-23
4552
4553Summary: Zmatrix optimization enhancements. Sign change in MM stress.
4554
4555* Added constant-volume optimization option to the Zmatrix code.
4556
4557* Broyden option for Zmatrix optimization.
4558
4559* The zmatrix optimization code for the "variable cell" case has been
4560partially fixed. It now fails to work only if some of the coordinates
4561of an atom specifed in "cartesian" form are variables (i.e., allowed
4562to relax) and others are not.
4563
4564For example:
4565
4566cartesian
4567...
4568     1  0.3 0.4 0.5    1 0 1
4569...
4570
4571will fail as the second coordinate is not allowed to relax.
4572
4573     1 0.4 0.2 -0.7    0 0 0         OK
4574     1 0.4 0.2 -0.7    1 1 1         OK
4575
4576
4577* New file cell_broyden_optim.F implements "cell-only" optimizations.
4578
4579This feature is enabled by setting the symbol
4580
4581MD.RelaxCellOnly
4582
4583to .true..
4584
4585Only the cell parameters are relaxed (by the Broyden method).  The
4586atomic coordinates are re-scaled to the new cell, keeping the
4587fractional coordinates constant. For Zmatrix calculations, the
4588fractional position of the first atom in each molecule is kept fixed,
4589and no attempt is made to rescale the bond distances or angles.
4590
4591* Removal of intra-molecular pressure
4592
4593If the symbol
4594
4595MD.RemoveIntramolecularPressure
4596
4597is set to .true., the contribution to the stress coming from the
4598internal degrees of freedom of the molecules will be subtracted.  This
4599is done in an approximate manner, using the virial form of the stress,
4600and assumming that the "mean force" over the coordinates of the
4601molecule represents the "inter-molecular" stress. The correction term
4602was already computed in earlier versions ("Pmol"). The correction is
4603now computed molecule-by-molecule if the Zmatrix format is used.
4604
4605NOTE: The reported "Molecular Pressure" might change slightly from
4606previous versions as the "current" and not the "next iteration" coordinates
4607are used for the computation of the virial term.
4608
4609
4610If the intra-molecular stress is removed, the corrected static and
4611total stresses are printed in addition to the uncorrected items.
4612
4613The corrected Voigt form is also printed.
4614
4615(New test ch4 to exemplify this feature)
4616
4617
4618* Correction of the sign of the stress in molecularmechanics.F90
4619
4620For MM potentials, attractive interactions are represented by
4621*positive* C coefficients in the MM.Potentials block. Then the
4622MM energy is negative, as it should be. However, the sign of
4623the stress was wrong in the original implementation. Now (also
4624printed as MM-Stress) it should come out as a positive contribution
4625(negative pressure), forcing the cell to contract.
4626
4627(Updated graphite_full test)
4628
4629
4630* New Utils/MM_Examples directory.
4631
4632An example of the use of MM potentials to introduce van der Waals
4633interactions in an approximate manner (for the artificial example
4634of fcc He).
4635
4636* Additional enthalpy-analog output.
4637
4638The enthalpy is computed in two ways: as the "target enthalpy" using
4639the target pressure, and as the "real" enthalpy using the trace of the
4640current stress tensor as an estimation of the pressure. Ideally, both
4641values should be identical at convergence, but the "target enthalpy"
4642might have significant errors coming from the tolerances.
4643
4644
4645* NEW STRUCTURE OUTPUT FILES:
4646
4647OUT.UCELL.ZMATRIX
4648
4649It contains the structural information in fdf form, with
4650blocks for unit-cell vectors and for Zmatrix coordinates. The
4651Zmatrix block is in a ``canonical'' form with the following
4652characteristics:
4653
46541. No symbolic variables or constants are used.
46552. The position coordinates of the first atom in each molecule
4656   are absolute cartesian coordinates.
46573. Any coordinates in ``cartesian'' blocks are also absolute cartesians.
46584. There is no provision for output of constraints.
46595. The units used are those initially specified by the user, and are
4660   noted also in fdf form.
4661
4662Note that the geometry reported is the last one for which forces and
4663stresses were computed.
4664
4665NEXT_ITER.UCELL.ZMATRIX
4666
4667In the same format but with a possibly updated geometry.
4668
4669Label.STRUCT_NEXT_ITER.
4670
4671Structure in crystallographic format (same as Label.STRUCT_OUT) for a
4672possibly updated geometry.
4673
4674(Call performed in siesta_write_positions, which is called after the
4675structure has moved after the application of forces/stress.)
4676
4677
4678* New .make file for Hreidar at ETH Zurich.
4679
46802007-06-04 16:00:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-22
4681
4682Summary: Undef var in kgridinit, iohs MPI write, pdosg array bound, Origin shift
4683
4684* Initialize "genlogic" to .false. before it is used in kgridinit.
4685
4686* Fix index in write statement in iohs in parallel affecting list array.
4687
4688* Fix dimension of dpr in pdosg. Clarify names of variables in pdos.
4689  In pdosg, dpr was wrongly dimensioned to no_l (modern notation) instead of no_u.
4690
4691* In routine coor, the origin shift was applied after the section in
4692which the coordinates are re-scaled (from Ang to Bohr, or from fractional
4693to cartesian, etc). However, it is clear in the manual that the shift
4694vector is in the same units and format as the input coordinates.
4695
4696The shift is now applied right after reading the coordinate block.
4697
4698NOTE: This does not apply to the Zmatrix routine, which has *its own*
4699conventions for origin shift, neither to coordinates read from an XV
4700file or a Struct file.
4701
47022007-06-04 16:00:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-21
4703
4704Summary: Refinements of XML tester. New ioncat program
4705Keywords:
4706
4707Eduardo Anglada's bugfixes to the XML tester package:
4708
4709* Apply bugfixes to compare_m.f90.
4710* Initialize variable 'len' in m_reader.f90 to suit buggy compilers.
4711* Use the 'normalize' DOM function to consolidate adjacent text nodes.
4712  (rather than changing the pcdata processing in the SAX parser).
4713* Add removal of tolerances.dat and diff output to the 'clean' target
4714  in test.mk
4715
4716New features:
4717
4718* Use the command-line options processor. Valid options:
4719
4720 -d       : enable debugging output.
4721 -t FILE  : specify tolerances file.
4722 -g LOGTOL: specify (minus log10 of) global tolerance
4723 -s       : stop after first error
4724 -e NUM   : stop after NUM errors
4725
4726* By default, the tester does not stop after errors.
4727
4728* Enhance xmlparser/Tests/compare.sh to accept options.
4729
4730* Modified f2kcli.F90 to fit gfortran (this compiler
4731already implements all the functionality, so a
4732preprocessor symbol is used to disable the module).
4733
4734* Added Src/Sys/gfortran.make
4735
4736-------------
4737
4738* New program "ioncat" in Src to analyze the content of .ion files.
4739
4740 Usage: ioncat [options] Species_Label
4741 Options:
4742
4743  -s          : Show header information
4744  -i          : Print indexes of unique orbitals
4745  -j          : Print indexes of unique KB projectors
4746  -o ORBINDEX : Generate table for orbital ORBINDEX
4747  -k KBINDEX  : Generate table for KB proj KBINDEX
4748  -v          : Generate table for Vna potential
4749  -Z          : Zoom in near rc for table generation
4750  -h          : Print this help message
4751
4752The accompanying script ionplot.sh shows how to drive
4753ioncat to plot the results.
4754
47552007-05-30 13:45:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-20
4756
4757Summary: Execute SCF loop when nscf=1
4758
4759When nscf=1, the scf loop was not entered, and
4760the program went directly to the "post-scf" section.
4761
4762Now, unless nscf<=0, the scf loop is executed at least once.
4763
4764(Merged from siesta-bsc--master--2.1)
4765
47662007-05-30 13:40:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-19
4767
4768Summary: Sync to bsc--2.1. Change banner in CHANGES to bsc--2.3
4769
4770The patches from ag@bsc--2007/merge-devel--ag--2.3 (up to patch-18) were
4771copied verbatim into this branch.
4772
4773To prepare it for further development:
4774
4775* The version.info file has been updated
4776* The banner in CHANGES has been updated
4777* Patch-32 of bsc--2.1 (a typo) has been registered by 'tla sync-tree' (its contents
4778  had been already incorporated). Any further bug-fix patches on bsc--2.1
4779  should be merged into this branch.
4780
4781------------------------------------------------------------------------------
4782(The following patches were merged from siesta-devel--reference--2.1,
4783originally to branch ag@bsc--2007/merge-devel--ag--2.3
4784The patches were then copied verbatim to bsc--2.3; only the dates, and
4785the mention of extra patch-logs, are different)
4786
47872007-05-13 20:14:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-18
4788
4789Summary: MareNostrum fixes. zdrot to blas. obj_setup. compare_m syntax
4790
4791* Add "." to MPI_INCLUDE in MN's .make file.
4792* Remove old MN .make file.
4793* Do not link Reference-xml in obj_setup.sh
4794* Move zdrot routine from dc_lapack.f to blas.f
4795* Remove explicit LatticeVectors from h2oZ.fdf
4796* Change SystemLabel in ag test.
4797
47982007-05-13 15:44:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-17
4799
4800Summary: Fix marenostrum-mpi.make. Syntax in compare_m.f90
4801
4802* Add INCFLAGS to marenostrum-mpi.make
4803* Fix bad syntax in compare_m.f90
4804
48052007-05-12 17:20:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-16
4806
4807Summary: Merge of XML tester by Eduardo Anglada. Portability fixes
4808
4809* Merged XML tester (with simpler command-line interface)
4810* Merged new functionality into old test.mk
4811* Split the compilation of libxmlparser.a and the xml-test program, as
4812  some compilers cannot deal with the DOM part.
4813* Some of the new tests are not yet properly integrated.
4814  (reference output files and xml files have to be
4815   re-generated).
4816
4817* More denchar and gen-basis objs
4818
4819* Wider field in BASIS_ENTHALPY
4820
4821* Fix matterhorn Sys files for VPATH compilation. New mpich .make files
4822  (the oci.q queue does not support myrinet). New script in Tests/Scripts.
4823
4824* A warning is now printed if the user tries to invoke 'make'
4825from the xmlparser or MPI directories to compile test-xml or
4826the MPI tests, so that the proper VPATH is used.
4827
4828* Add INCFLAGS to default suffix rule to Intel mkl .make file.
4829
48302007-05-12 18:50:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-15
4831
4832Summary: Option to use fractional rc's for multiple zeta
4833
4834If the rc's for multiple-zeta orbitals are given as negative numbers
4835in the PAO.Basis block, they are interpreted as the corresponding
4836fractions of the rc for the first-zeta orbital.
4837
4838This is useful in basis optimization, to avoid having to include
4839explicitly the constraint that rc(izeta>1) < rc(izeta=1).
4840
4841Note however that, if the rc's are significantly larger than the
4842natural size of the atomic orbital, multiple-zeta orbitals will tend
4843to be very similar to the first (this is now flagged by the program as
4844a warning). The best procedure to avoid this is to use an explicit
4845split-norm value.
4846
48472007-05-12 18:45:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-14
4848
4849Summary: Fix tag in MPI send/receive in mulliken
4850
4851* The undefined variable 'io' was used as tag... changed to itot, the
4852orbital index.
4853
4854* Trimmed mpibuff before writing.
4855
48562007-05-12 18:40:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-13
4857
4858Summary: Sync vpath changes. Update siesta.tex
4859
4860Only siesta.tex needed updating.
4861
48622007-05-11 14:40:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-12
4863
4864Summary: Option to use fractional rc's for multiple zeta
4865
4866If the rc's for multiple-zeta orbitals are given as negative numbers
4867in the PAO.Basis block, they are interpreted as the corresponding
4868fractions of the rc for the first-zeta orbital.
4869
4870This is useful in basis optimization, to avoid having to include
4871explicitly the constraint that rc(izeta>1) < rc(izeta=1).
4872
4873Note however that, if the rc's are significantly larger than the
4874natural size of the atomic orbital, multiple-zeta orbitals will tend
4875to be very similar to the first (this is now flagged by the program as
4876a warning). The best procedure to avoid this is to use an explicit
4877split-norm value.
4878
48792007-05-11 14:30:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-11
4880
4881Summary: Implementation of basis_enthalpy calculation. Zmatrix dependency
4882
4883New file BASIS_ENTHALPY contains the "effective basis enthalpy"
4884of Anglada et al. The pressure is determined from the fdf symbol
4885"BasisPressure", with a 0.2 GPa default.
4886
4887Further work: different weights to different species.
4888
4889* siesta_geom was needed in zmatrix.F
4890
48912007-05-11 14:10:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-10
4892
4893Summary: Units conversion in Util/Optical/optical.f. Scripts. Cosmetics
4894
4895* Optical.f is a program to analyze the file .EPSIMG and obtain the
4896optical properties. A unit conversion was done from eV to Ry instead
4897of to Ha. (Daniel Sanchez)
4898
4899* Updated script to run parallel jobs under SGE on matterhorn.
4900
4901* Declare etime in bsd.f
4902
4903* New file Src/Sys/arina-mlib.make for the new library setup
4904at the itanium machine at the UPV. Src/Confs/arina-mpi.conf
4905is now obsolete.
4906
4907* Update of Tests/Scripts/arina.pbs.
4908
4909* Wrap writes for MPI in siesta_init.F and m_broyden_optim.F
4910
4911
49122007-05-11 15:40:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-9
4913
4914Summary: Fix of zmatrix code to deal with degenerate case
4915
4916* Note: BSC cosmetic change to zmatrix.F90 taken back.
4917        In detail: synched patch-38, and copied zmatrix.F from reference-2.1
4918        after doing a 'tla mv zmatrix.F0 zmatrix.F.
4919        Copied also the benzene test and Reference output, and updated
4920        std-Makefile.
4921
4922(Colin Glass, Alberto Garcia)
4923
4924The first three atoms in a zmatrix molecule are special.  The torsion
4925angle of the third is specified with respect to a plane formed by the
4926first two atoms and a notional atom located along the z axis from the
4927second. If the second atom is located also along the z axis from the
4928first, the plane is undefined.
4929
4930The routine to compute the cartesian coordinates from the Zmatrix
4931coordinates deals now with the third atom in a more controlled way,
4932and uses the phi angle of the second atom (which should be specified
4933even if theta=0) to determine correctly the reference plane for the
4934torsion.
4935
4936Notation: the atoms used as reference for the calculation of the
4937position of the current atom are:
4938
4939i: determines the bond length
4940j: together with i, determines the angle theta
4941k: together with i and j, determines the reference plane for the torsion.
4942
4943In case of alignment of i,j, and k, we use the azimuth (phi) of i with
4944respect to j to fix the reference plane.
4945
4946If "i" is the first atom in the Zmatrix, its Zmatrix coordinates are X
4947Y Z, and we cannot use its "phi angle" as reference, but in fact this
4948angle can be easily computed as phi_ref = phi_ji - pi, where phi_ji is
4949the azimuth of the j atom with respect to i.
4950
4951Routine z2cgen is passed phi_ref after checking the above conditions.
4952
4953This fix only applies only to the calculation of the coordinates of the third
4954atom, but it could presumably be generalized to intercept singular cases
4955at any link of the zmatrix, at which i, j, and k could lie along a line.
4956
4957* New checks to detect attempts to use "fractional coordinates" when
4958the unit cell is not yet defined at the time of reading the Zmatrix.
4959
4960* New test "benzene"
4961
4962
49632007-05-11 15:35:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-8
4964
4965Summary: Add patchlog for k-point fix
4966
4967The content of patch-37 was already in the BSC version. Synched and added
4968patchlog only.
4969
49702007-05-11 15:30:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-7
4971
4972Summary: Add graphite_c6_full test for more realistic vdW test
4973
4974The original graphite test prepared by J. Gale to show an
4975example of adding two-body potentials to simulate van der Waals
4976interactions has been added as graphite_c6_full. It is not
4977executed by default as it requires significant CPU time.
4978
4979Minor cosmetic changes in filter_subs.f and kgridinit.F
4980
4981Add molecular-mechanics documentation.
4982
49832007-05-11 15:20:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-6
4984
4985Summary: Merge filtering package by Eduardo Anglada
4986
4987Code that implements the ideas in
4988
4989Anglada E, Soler JM
4990Filtering a distribution simultaneously in real and Fourier space
4991PHYSICAL REVIEW B 73 (11): Art. No. 115122 MAR 2006
4992
4993has been merged.
4994
4995The filtering is selected by fdf directives of the form:
4996
4997PAO.Filter .true.
4998VNA.filter .true.
4999PCC.filter .true.
5000
5001and the default parameters are determined by heuristics based
5002on the value of the MeshCutoff.
5003
5004(A manual entry is being written)
5005
5006New tests:
5007
5008Tests/pb_bulk
5009Tests/pb_bulk_1000
5010Tests/pb_filter_all
5011Tests/pb_filter_basis
5012Tests/pb_filter_nopcc
5013Tests/pb_filter_pcc
5014Tests/pb_filter_vna
5015Tests/var_cell_filter
5016
50172007-05-11 14:58:39 GMT	Alberto Garcia <albertog@icmab.es>	patch-5
5018
5019    Summary:
5020      Fix typo in state_init.F
5021    Revision:
5022      merge-devel--ag--2.3--patch-5
5023
5024    modified files:
5025     Src/state_init.F
5026
5027
50282007-05-11 09:31:46 GMT	Alberto Garcia <albertog@icmab.es>	patch-4
5029
5030    Summary:
5031      Re-enabling of kgrid update in variable-cell calculations
5032    Revision:
5033      merge-devel--ag--2.3--patch-4
5034
5035    * Re-enabled the computation of kscell in kpoint_grid after a cell change.
5036
5037    (Synched the corresponding patches in 2.1 that lead to the same code state)
5038
5039
5040    modified files:
5041     Docs/CHANGES Docs/siesta.tex Src/kpoint_grid.F90
5042     Src/siesta_options.F90 Src/state_init.F version.info
5043
5044    new patches:
5045     siesta@uam.es--2006/siesta-devel--reference--2.1--patch-33
5046     siesta@uam.es--2006/siesta-devel--reference--2.1--patch-34
5047
5048
50492007-05-10 21:14:36 GMT	Alberto Garcia <albertog@icmab.es>	patch-3
5050
5051    Summary:
5052      New treatment of fractional atoms in VCA. Bug fix in lmxo
5053    Revision:
5054      merge-devel--ag--2.3--patch-3
5055
5056    Instead of mixing with a "zero" pseudopotential, pseudopotentials
5057    for a "fractionally occupied" site can be generated by simply
5058    multiplying the potential and charges by the appropriate factor,
5059    using the 'fractional' program, which resides in the top source
5060    directory.
5061
5062    There is no longer any need for the "zero" pseudopotential files.
5063
5064    Bug fix: lmxo was not being set correctly for synthetic atoms.
5065
5066    Test update: 'oxyn' and 'partial' reference outputs have been
5067    regenerated. 'partial' now uses the 'fractional' program.
5068
5069    NOTE: there are some instabilities in the outputs on the intel
5070    compiler+library platform.
5071
5072    new files:
5073     Src/.arch-ids/fractional.f.id Src/fractional.f
5074     Tests/partial/.arch-ids/README.id Tests/partial/README
5075
5076    removed files:
5077     Tests/Pseudos/.arch-ids/Zero.nrl.psf.id
5078     Tests/Pseudos/.arch-ids/Zero.rel.psf.id
5079     Tests/Pseudos/Zero.nrl.psf Tests/Pseudos/Zero.rel.psf
5080     Util/VCA/.arch-ids/zerops.f.id
5081     Util/VCA/.arch-ids/zerops_rel.f.id Util/VCA/zerops.f
5082     Util/VCA/zerops_rel.f
5083
5084    modified files:
5085     Docs/CHANGES Docs/siesta.tex README Src/Makefile
5086     Src/basis_specs.f Tests/Reference/oxyn.out
5087     Tests/Reference/partial.out Tests/partial/script.sh
5088     Util/VCA/README version.info
5089
5090    new patches:
5091     siesta@uam.es--2006/siesta-devel--reference--2.1--patch-32
5092
5093
50942007-05-10 21:08:45 GMT	Alberto Garcia <albertog@icmab.es>	patch-2
5095
5096    Summary:
5097      Merge patch-log for patch-30 from 2.1
5098    Revision:
5099      merge-devel--ag--2.3--patch-2
5100
5101    Patches applied:
5102
5103     * siesta@uam.es--2006/siesta-devel--reference--2.1--patch-30
5104       Update of CHANGES and siesta.tex for rmax.radial.grid feature
5105
5106
5107    new patches:
5108     siesta@uam.es--2006/siesta-devel--reference--2.1--patch-30
5109
5110
51112007-05-10 21:02:23 GMT	Alberto Garcia <albertog@icmab.es>	patch-1
5112
5113    Summary:
5114      Prepare CHANGES file
5115    Revision:
5116      merge-devel--ag--2.3--patch-1
5117
5118
5119    Add a forgotten patch-log from bsc--2.1 branch, and prepare the banner.
5120
5121
5122    modified files:
5123     Docs/CHANGES version.info
5124
5125
51262007-05-10 20:44:42 GMT	Alberto Garcia <albertog@icmab.es>	base-0
5127
5128    Summary:
5129      tag of ref@bsc--2007/siesta-bsc--master--2.3--base-0
5130    Revision:
5131      merge-devel--ag--2.3--base-0
5132
5133____________________________________________________________________
5134** CHANGES ALONG ref@bsc--2007/siesta-bsc--master--2.1
5135--------------------------------------------------------------------
5136
51372007-05-10 11:00:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-31
5138
5139Summary: Avoid shrinking of density-matrix arrays for extrapol.
5140
5141Routine extrapol has to deal with density-matrices with possibly different
5142sparsity patterns. It is essential that their "value" and "list" arrays be
5143large enough to allow proper processing.
5144
5145After the cleanup, the allocation section after the call to hsparse in
5146state_init called re_alloc inconditionally, regardless of whether the
5147total size of Dscf (nh) had increased or not. Sometimes this led to a
5148*shrinkingg* ofthe arrays, and bounds errors in extrapol. The option
5149'shrink=.false.' has now been used. (Also, for good measure, shrinking
5150is avoided in the allocation of listh, now done inside hsparse.)
5151
5152Extrapol has been turned into a module, and the assumed-shape idiom used
5153to declare the relevant arrays (otherwise bounds errors would result from
5154the comparison with the nominal nmax).
5155
5156* Other: cosmetic change in the 'dep' target to deal properly with
5157degenerate vpaths.
5158
51592007-05-08 21:00:00 GMT	Alberto Garcia <albertog@icmab.es>	patch-30
5160
5161Summary: Explicit array extents in initatom.f
5162
5163More fixes for compiler handling of array arguments:
5164
5165The actual argument (in call to atom in initatom.f):
5166
5167	nzeta(0:,1,is)
5168
5169is wrong. It should be:   nzeta(0:,1:,is)
5170
5171The 0: form was put in a previous patch to avoid an mismatched interface
5172error with the Marenostrum compiler. But once this is done, apparently
5173one has to go all the way with explicit array extents. Otherwise bad
5174code is produced by other compilers (at least by Intel's).
5175
5176This is mildly confusing, as the dummy arguments are declared
5177in f77 style in atom.f:
5178
5179      integer, intent(in) :: nzeta(0:lmaxd,nsemx)
5180
5181(or are they?).
5182
5183There might be other instances of this usage.
5184
51852007-05-07 11:00:10 GMT	Alberto Garcia <albertog@icmab.es>	patch-29
5186
5187Summary: Fix wrong allocations in cellxc.F
5188
5189A few typos in the conversion of allocatables to pointers in cellxc caused
5190crashes. Fixed allocation of dbuffer and bvxc.
5191
51922007-05-07 15:30:10 GMT	Alberto Garcia <albertog@icmab.es>	patch-28
5193
5194Summary: Explicit array-ness in calls in initatom and cellxc
5195
5196The Marenostrum compiler complains if actual arguments with
5197array indexes beginning at 0 are written in the old f77 style:
5198
5199Thus one has to write in initatom:
5200
5201                call ....
5202                 nkbl(0:,is), erefkb(1,0:,is),lmxo(is),
5203
5204instead of:
5205                call ....
5206                 nkbl(0,is), erefkb(1,0,is),lmxo(is),
5207
5208* In cellxc, a similar specification is necessary:
5209
5210          call HowManyMeshPerNode(MeshNsm,Pleft3,Nodes,NMeshPN,
5211     .      PMesh(1:,3))
5212
52132007-04-11 12:10 GMT	Alberto Garcia <albertog@icmab.es>	patch-27
5214
5215Summary: Allocatables to pointers IV -- new neighbor code + nspecies fix
5216Keywords:
5217
5218Further changes for allocatables->pointers conversion.
5219
5220Neighb and ranger removed in favor of 'mneighb' approach, as it is
5221more robust and less confusing.
5222
5223There has been a slight change in mneighb: maxnna is now a module
5224variable, and not an argument of mneighb. Maxnna is given an initial
5225value, and the module arrays initialized to that size in the first
5226invocation.
5227
5228Patches applied:
5229
5230 * ag@bsc--2007/vars--mqag--1.0--patch-43
5231   First stages of changeover to mneighb paradigm
5232
5233 * ag@bsc--2007/vars--mqag--1.0--patch-44
5234   New functionality in mneighb. Convert chempot
5235
5236 * ag@bsc--2007/vars--mqag--1.0--patch-45
5237   Converted phirphi*, ksv, and optical
5238
5239 * ag@bsc--2007/vars--mqag--1.0--patch-46
5240   Final changeover to new neighb paradigm
5241
5242 * ag@bsc--2007/vars--mqag--1.0--patch-47
5243   dhscf. Minor change in meshsubs. Cosmetic cleanup of mneighb.
5244
5245Also: Fix setting of number of species for user basis option
5246
5247The number of species was not set correctly if the options User.Basis
5248or User.Basis.Netcdf were used.
5249
5250
52512007-04-10 08:05 GMT	Alberto Garcia <albertog@icmab.es>	patch-26
5252
5253Summary: Allocatables to pointers III
5254Keywords:
5255
5256Third installment in the merging of the allocatables->pointers work at BSC.
5257
5258Patches applied:
5259
5260 * ag@bsc--2007/vars--mqag--1.0--patch-22
5261   cisa in siesta_geom
5262
5263 * ag@bsc--2007/vars--mqag--1.0--patch-23
5264   MolecularMechanics
5265
5266 * ag@bsc--2007/vars--mqag--1.0--patch-24
5267   Forhar
5268
5269 * ag@bsc--2007/vars--mqag--1.0--patch-25
5270   Deallocate basis spec arrays
5271
5272 * ag@bsc--2007/vars--mqag--1.0--patch-26
5273   Fix names in re_alloc/de_alloc statements
5274
5275 * ag@bsc--2007/vars--mqag--1.0--patch-27
5276   kinefsm
5277
5278 * ag@bsc--2007/vars--mqag--1.0--patch-28
5279   ksv
5280
5281 * ag@bsc--2007/vars--mqag--1.0--patch-29
5282   listsc
5283
5284 * ag@bsc--2007/vars--mqag--1.0--patch-30
5285   m_broyden_mixing
5286
5287 * ag@bsc--2007/vars--mqag--1.0--patch-31
5288   Rationalization of chempot
5289
5290 * ag@bsc--2007/vars--mqag--1.0--patch-32
5291   Setatomnodes. Stop if bad load balancing
5292
5293 * ag@bsc--2007/vars--mqag--1.0--patch-33
5294   obc rationalization
5295
5296 * ag@bsc--2007/vars--mqag--1.0--patch-34
5297   ofc rationalization
5298
5299 * ag@bsc--2007/vars--mqag--1.0--patch-35
5300   outcoor
5301
5302 * ag@bsc--2007/vars--mqag--1.0--patch-36
5303   pseudopotential
5304
5305 * ag@bsc--2007/vars--mqag--1.0--patch-37
5306   elem in atomlist and struct_init
5307
5308 * ag@bsc--2007/vars--mqag--1.0--patch-38
5309   atomlwf
5310
5311 * ag@bsc--2007/vars--mqag--1.0--patch-39
5312   bands
5313
5314 * ag@bsc--2007/vars--mqag--1.0--patch-40
5315   broyden_optim
5316
5317 * ag@bsc--2007/vars--mqag--1.0--patch-41
5318   cellxc
5319
5320 * ag@bsc--2007/vars--mqag--1.0--patch-42
5321   denmat and denmatlomem
5322
53232007-03-20 22:50 GMT	Alberto Garcia <albertog@icmab.es>	patch-25
5324
5325Summary: Allocatables to pointers  II
5326Keywords:
5327
5328Second merge of the changes Based on work by Manuel Quero from Feb 28 to Mar 16.
5329Allocatable arrays have been turned into pointers in several routines.
5330
5331+ Clarification of the use of the new m_neighbors module.
5332+ vpath-aware "make dep" target
5333
5334Patches applied:
5335
5336 * ag@bsc--2007/vars--mqag--1.0--patch-14
5337   radfft
5338
5339 * ag@bsc--2007/vars--mqag--1.0--patch-15
5340   poison
5341
5342 * ag@bsc--2007/vars--mqag--1.0--patch-16
5343   reord
5344
5345 * ag@bsc--2007/vars--mqag--1.0--patch-17
5346   phirphi
5347
5348 * ag@bsc--2007/vars--mqag--1.0--patch-18
5349   PDOS routines
5350
5351 * ag@bsc--2007/vars--mqag--1.0--patch-19
5352   Clarification of m_neighbors use. Nlefsm converted
5353
5354 * ag@bsc--2007/vars--mqag--1.0--patch-20
5355   bonds. Vpath-aware makedepend
5356
5357 * ag@bsc--2007/vars--mqag--1.0--patch-21
5358   shaper
5359
53602007-03-19 8:40 GMT	Alberto Garcia <albertog@icmab.es>	patch-24
5361
5362Summary: Allocatables to pointers  I
5363
5364First merge of the changes Based on work by Manuel Quero from Feb 28 to Mar 16.
5365Allocatable arrays have been turned into pointers in several routines.
5366
5367Patches applied:
5368
5369 * ag@bsc--2007/vars--mqag--1.0--base-0
5370   tag of ref@bsc--2007/siesta-bsc--master--2.1--patch-23
5371
5372 * ag@bsc--2007/vars--mqag--1.0--patch-1
5373   Siesta_analysis, sphere_harm
5374
5375 * ag@bsc--2007/vars--mqag--1.0--patch-2
5376   Transition_rate
5377
5378 * ag@bsc--2007/vars--mqag--1.0--patch-3
5379   Vmat and vmatsp
5380
5381 * ag@bsc--2007/vars--mqag--1.0--patch-4
5382   Added _z1, _z2, and _r4 support to alloc.F90
5383
5384 * ag@bsc--2007/vars--mqag--1.0--patch-5
5385   Detover, allocating complex arrays
5386
5387 * ag@bsc--2007/vars--mqag--1.0--patch-6
5388   Fft3d
5389
5390 * ag@bsc--2007/vars--mqag--1.0--patch-7
5391   Old_atmfuncs
5392
5393 * ag@bsc--2007/vars--mqag--1.0--patch-8
5394   Savepsi
5395
5396 * ag@bsc--2007/vars--mqag--1.0--patch-9
5397   Explicit array-ness in calls to spline
5398
5399 * ag@bsc--2007/vars--mqag--1.0--patch-10
5400   Meshmatrix and routines which use DscfL
5401
5402 * ag@bsc--2007/vars--mqag--1.0--patch-11
5403   xc.f
5404
5405 * ag@bsc--2007/vars--mqag--1.0--patch-12
5406   Overfsm
5407
5408 * ag@bsc--2007/vars--mqag--1.0--patch-13
5409   Optical
5410
54112007-03-15 16:40 GMT	Alberto Garcia <albertog@icmab.es>	patch-23
5412
5413Summary: VPATH-aware compilation for multiple executable versions
5414
5415Added Src/obj_setup.sh script, to be called from any directory on
5416which the build is going to take place, and modified slightly some
5417makefiles to make them VPATH-proof.  The Tests directory is replicated
5418in the "build" directory (and a fake symbolic link called "Src" added
5419so that all the test-running scripts work without change).
5420
5421(The pristine Src should be "clean", without any object files)
5422
5423Example. From the top Siesta directory:
5424
5425mkdir Objs
5426cd Objs
5427sh ../Src/obj_setup.sh
5428../Src/configure --enable-fast
5429make
5430cd Tests
5431make clean; make
5432cd    # Now a parallel version
5433mkdir ParaObjs
5434cd ParaObjs
5435sh ../Src/obj_setup.sh
5436cp ../Src/Sys/parallel.make ./arch.make
5437make
5438cd Tests
5439make clean; make
5440
54412007-03-15 16:30 GMT	Alberto Garcia <albertog@icmab.es>	patch-22
5442
5443Summary: Reorganization of hsparse/xijorb calls with new neighbor module
5444
5445* Deactivated 's' routines in alloc.F90, as they are seen as extremely
5446dangerous.
5447
5448* New module m_neighbors houses maxna, jna, r2ij, and xij, and the new
5449routine init_neighbor_arrays, which simplifies the logic of the block
5450formerly in state_init.  The initialization routine is invoked with a
5451larger rmax, appropriate for the workings of hsparse, so that there is
5452no need to check again for the appropriate sizes. Actually, this rmax
5453is the largest ever needed by the calculation of neighbors, so maxna
5454is set once and for all.
5455
5456This new module (which supersedes m_numb_neighb) could be used
5457by other second-level routines (nlefsm, phirphi, etc).
5458
5459* Hsparse is now called just once from state_init. It allocates listh
5460(and xijo, if applicable), and returns the size "nh" of the sparse
5461matrices.
5462
5463* maxnh is always set to nh (and not to some larger value if nh > (the
5464old maxnh)).
5465
5466* The sparse arrays are always re_alloc'ated, as these calls are very
5467cheap if they have the right size.
5468
5469* The code for xijorb and hsparse is almost identical.  It has been
5470merged, adding two new arguments to hsparse: gamma and xijo, so that
5471hsparse fills xijo also if gamma is false. Multiple-image detection is
5472still active.
5473
5474* Routine xijorb has been deleted.
5475
5476* Allocatables have been turned into pointers inside hsparse.
5477
54782007-03-15 16:19:53 GMT	Alberto Garcia <albertog@icmab.es>	patch-21
5479
5480Summary: Re-organization of pulay module
5481
5482Pulayx is now part of a module "m_pulay", which contains the
5483nauxpul and auxpul variables. Module m_auxpul has been removed.
5484
5485The calling sequence for pulayx has been simplified, as some of
5486the arguments are now module variables. Argument maxo was innecesary.
5487Internal work arrays are now pointers.
5488
5489The changes affect mixer and state_init (which calls a new routine
5490init_pulay_arrays)
5491
54922007-03-15 16:12:53 GMT	Alberto Garcia <albertog@icmab.es>	patch-20
5493
5494Summary: Pointers in fixed and setspatial. si2x1h test added to bsc-Makefile
5495
54962007-03-01 12:00:53 GMT	Alberto Garcia <albertog@icmab.es>	patch-19
5497
5498Summary: Add character(len=*) routines to alloc.F90
5499
5500New module procedures realloc_s1 and dealloc_s1
5501
5502
55032007-02-27 15:46:53 GMT	Alberto Garcia <albertog@icmab.es>	patch-18
5504
5505Summary: Final cleanup of siesta_todo
5506Keywords:
5507
5508(During and after meeting at BSC on Feb 26, 2007)
5509
5510* New module m_gamma.
5511* 'shape' put in siesta_geom.
5512* 'sname' put in siesta_options.
5513* Signaling role of 'foundxv' taken over by 'xv_file_read' in ioxv.F
5514
5515* All the other variables have been made local to the appropriate routines.
5516
5517+ Cosmetic changes in state_init and hsparse: conversion of implicit
5518  loops with goto to explicit 'do while' loops.
5519
5520+ Conversion of scfconvergence_test and proximity_check into modules.
5521
5522
55232007-02-25 22:25:53 GMT	Alberto Garcia <albertog@icmab.es>	patch-17
5524
5525Summary: Fixes for troublesome bugs in reference code
5526
5527Patches applied:
5528
5529 * siesta@uam.es--2006/siesta-devel--reference--2.1--patch-31
5530   Parallel bug fix and cleanup in writewave.F
5531
5532 * siesta@uam.es--2006/siesta-devel--reference--2.1--patch-42
5533   zval wrongly treated as MPI_integer in broadcast_basis
5534
5535 * siesta@uam.es--2006/siesta-devel--reference--2.1--patch-43
5536   Wrap io_close for MPI in iohs.F
5537
5538 * siesta@uam.es--2006/siesta-devel--reference--2.1--patch-45
5539   Clean up handling of ntote in ksv and optical
5540
5541 * siesta@uam.es--2006/siesta-devel--reference--2.1--patch-46
5542   Fix allocation of temporary array in savepsi in parallel
5543
5544
5545
55462007-02-25 20:02:53 GMT	Alberto Garcia <albertog@icmab.es>	patch-16
5547
5548Summary: Merge of removal of integer and real variables from siesta_todo
5549Keywords:
5550
5551Inital work done at BSC by M. Quero from Feb 19 to 23, 2007. A. Garcia
5552then consolidated some of the modules and removed others, turning some
5553variables into locals or arguments (See ag@bsc--2007/ag--vars--1.0)
5554
5555Some fine tuning still needs to be done, and note that the
5556'high-level' handling of major variables, for example as
5557
5558	call siesta_forces(geom,force_stress)
5559
5560has not started yet.
5561
5562New modules:
5563
5564m_auxpul.F90        : Pulay variables. Will go into a "pulay" module.
5565m_dipol.F90         : Dipole
5566m_spin.F90          : nspin, qs, efs, plus routine init_spin (replaces
5567                      spin_init). Readsp not included, as it needs work.
5568m_eo.F90            : eo, qo arrays
5569m_forces.F90        : fa, cfa, and ntcon. At the same level as stress.F90,
5570                      which has been renamed to m_stress.F90
5571m_kinetic.F90       : Kinetic energies of Parrinello/Rahman variables
5572m_ntm.F90           : Mesh multipliers. Should probably go in meshsubs.
5573m_numbs_neighb.F90  : Variables related to the neighbor calculations.
5574m_rmaxh.F90         : Hamiltonian maximum range. Should be clarified.
5575
5576* Module atomlist now includes no_l
5577* Module siesta_geom now includes va (atomic velocities), plus
5578  a new variable volume_of_some_cell to pass volume information (to
5579  mimic a very likely bug in the old code)
5580* Array xijo is now in sparse_matrices
5581
5582
55832007-02-24 14:04:53 GMT	Alberto Garcia <albertog@icmab.es>	patch-15
5584
5585    Summary:
5586      New m_energies and m_steps modules. Back to old k-point behavior
5587    Revision:
5588      siesta-bsc--master--2.1--patch-15
5589
5590    More steps in the slimming of siesta_todo:
5591
5592    * Module m_energies contains the energy components
5593    * Module m_steps contains inicoor, fincoor, istp, final
5594    * Variable dDmax has been turned into an argument of
5595      mixer and scfconvergence_test
5596
5597    *The old code had a bug in the update of k-points with cell changes:
5598    the kscell matrix was kept constant, instead of re-calculating it.
5599    This was fixed in the re-structured version, but of course the fix
5600    leads to differences in the outputs of some tests, notably var_cell.
5601
5602    The bug has been re-activated in kpoint_grid.F90 by commenting out
5603    the update of kscell.
5604
5605    The resetting of kscell to the unit matrix in case of gamma
5606    calculations has been deferred for the same reason.
5607
5608
5609
5610
5611
5612    new files:
5613     Src/.arch-ids/m_energies.F90.id Src/.arch-ids/m_steps.F90.id
5614     Src/m_energies.F90 Src/m_steps.F90
5615
5616    removed files:
5617     Src/.arch-ids/m_siesta.jose.F.id Src/m_siesta.jose.F
5618
5619    modified files:
5620     Src/Makefile Src/compute_dm.F Src/kpoint_grid.F90
5621     Src/local_DOS.F Src/mixer.F Src/new_dm.F Src/post_scf_work.F
5622     Src/scfconvergence_test.F Src/setup_hamiltonian.F Src/siesta.F
5623     Src/siesta_analysis.F Src/siesta_forces.F Src/siesta_init.F
5624     Src/siesta_move.F Src/siesta_todo.F Src/state_analysis.F
5625     Src/state_init.F Src/write_md_record.F Src/write_subs.F
5626
5627    new patches:
5628     ag@bsc--2007/ag--vars--1.0--base-0
5629     ag@bsc--2007/ag--vars--1.0--patch-1
5630     ag@bsc--2007/ag--vars--1.0--patch-2
5631     ag@bsc--2007/ag--vars--1.0--patch-3
5632     ag@bsc--2007/ag--vars--1.0--patch-4
5633
5634
56352007-02-18 23:13:17 GMT	Alberto Garcia <albertog@icmab.es>	patch-14
5636
5637    Summary:
5638      Replacement of some allocatables by pointers and automatics
5639    Revision:
5640      siesta-bsc--master--2.1--patch-14
5641
5642    eo, qo        : pointers
5643    fa, cfa, fal  : pointers
5644
5645    polxyz, polR  : automatic arrays, as they are small
5646
5647    (+ really add siesta_forces.F from previous patch)
5648
5649    new files:
5650     Src/.arch-ids/siesta_forces.F.id Src/siesta_forces.F
5651
5652    modified files:
5653     Src/Makefile Src/born_charge.F Src/siesta_analysis.F
5654     Src/siesta_init.F Src/siesta_todo.F Src/state_init.F
5655
5656    new patches:
5657     ag@bsc--2007/vars-mem--ag--0.1--patch-4
5658     ag@bsc--2007/vars-mem--ag--0.1--patch-5
5659
5660
56612007-02-18 23:09:35 GMT	Alberto Garcia <albertog@icmab.es>	patch-13
5662
5663    Summary:
5664      Creation of siesta_forces
5665    Revision:
5666      siesta-bsc--master--2.1--patch-13
5667
5668    Finally, siesta_forces has been created, clarifying in the process the
5669    parameters of siesta_write_energies.
5670
5671
5672    modified files:
5673     Src/Makefile Src/siesta.F Src/siesta_analysis.F
5674
5675    new patches:
5676     ag@bsc--2007/vars-mem--ag--0.1--patch-3
5677
5678
56792007-02-18 23:08:23 GMT	Alberto Garcia <albertog@icmab.es>	patch-12
5680
5681    Summary:
5682      Clarification of the scope of the stress variables
5683    Revision:
5684      siesta-bsc--master--2.1--patch-12
5685
5686    A number of changes to rationalize the use of 'stress':
5687
5688    * New routine 'overlap': a simplified version of overfsm adequate
5689    for calling from state_init, where only the overlap matrix is needed,
5690    and the stress was zero.
5691
5692    * Routine setup_hamiltonian now globalizes the stress, and calls
5693    the 'twobody' routine. Variable 'stressl' made into a local.
5694
5695    * local_DOS, and the writing of charge and potentials, do no need
5696    to use the 'stress' variable at all.
5697
5698    (Regeneration of reference outputs)
5699
5700    modified files:
5701     Docs/CHANGES Docs/siesta.ind Docs/siesta.tex Src/kgrid.F
5702     Src/kgridinit.F Src/siesta.F Tests/Reference/batio3.out
5703     Tests/Reference/bessel.out Tests/Reference/constant_volume.out
5704     Tests/Reference/fe.out Tests/Reference/fe_broyden.out
5705     Tests/Reference/floating.out Tests/Reference/graphite_c6.out
5706     Tests/Reference/h2o.out Tests/Reference/h2oZ.out
5707     Tests/Reference/h2o_basis.out Tests/Reference/h2o_dos.out
5708     Tests/Reference/h2o_findp_bug.out
5709     Tests/Reference/h2o_op_broyden.out
5710     Tests/Reference/h2o_orderN.out
5711     Tests/Reference/h2o_radialgrid.out
5712     Tests/Reference/h2o_reparam.out Tests/Reference/md_anneal.out
5713     Tests/Reference/md_nose.out Tests/Reference/md_npr.out
5714     Tests/Reference/md_pr.out Tests/Reference/md_verlet.out
5715     Tests/Reference/mgco3.out Tests/Reference/oxyn.out
5716     Tests/Reference/partial.out Tests/Reference/si2x1h.out
5717     Tests/Reference/si64.out Tests/Reference/si_bandpoints.out
5718     Tests/Reference/sih.out Tests/Reference/sih_fire.out
5719     Tests/Reference/sih_op_broyden.out
5720     Tests/Reference/var_cell.out Tests/Reference/zmatrix.out
5721     version.info
5722
5723    new files:
5724     Src/.arch-ids/overlap.f.id Src/overlap.f
5725
5726    modified files:
5727     Src/Makefile Src/local_DOS.F Src/post_scf_work.F
5728     Src/setup_hamiltonian.F Src/siesta.F Src/siesta_analysis.F
5729     Src/siesta_init.F Src/siesta_todo.F Src/state_analysis.F
5730     Src/state_init.F Src/stress.F90 Src/write_subs.F
5731
5732    new patches:
5733     ag@bsc--2007/vars-mem--ag--0.1--base-0
5734     ag@bsc--2007/vars-mem--ag--0.1--patch-1
5735     ag@bsc--2007/vars-mem--ag--0.1--patch-2
5736
5737
57382007-02-17 19:34:42 GMT	Alberto Garcia <albertog@icmab.es>	patch-11
5739
5740    Summary:
5741      Fourth session at the BSC
5742    Revision:
5743      siesta-bsc--master--2.1--patch-11
5744
5745    * New routine state_analysis.F split from siesta_move.F
5746
5747    * Some variables taken out of siesta_todo and moved to
5748    various places:
5749
5750     - New module m_stress in stress.F90 holds stress et al
5751      (Some variables could actually be turned into locals
5752       in several routines, except perhaps 'stress'.)
5753     - mscell et al moved to siesta_geom
5754     - nh and nhmax moved to sparse_matrices
5755
5756    * write_subs now holds the siesta_write_XX routines
5757      formerly in siesta_todo
5758
5759    * Some allocatables changed to pointers in fixed.F and pulayx.F
5760      (First step: just use re_alloc instead of allocate/memory
5761       In a second step work arrays will live outside)
5762
5763    * Cosmetic changes in m_mpi_utils.F90 (in the context of the
5764    analysis of the MPI interface)
5765
5766    * Changes in coor.F:
5767      - mscell, nsc changed to coor_mscell and coord_nsc
5768      - routine superx_coor taken out of the coor scope, to
5769        avoid clashes with the imported variables in coor.
5770        (this supercell does not have anything to do with the
5771         auxiliary supercell for matrix elements)
5772
5773    AG upon merging:
5774
5775    * Fix typo in zmatrix declarations
5776    * Declare etime in bsd.f
5777    * New trick in Makefile to remove the dependency
5778      of siesta_cmlsubs.o on version.o after doing "make dep".
5779    * Put an explicit unit cell in h2oZ.fdf to avoid a bug.
5780
5781    new files:
5782     Docs/.arch-ids/BSC-Issues.id Docs/BSC-Issues
5783     Src/.arch-ids/state_analysis.F.id Src/.arch-ids/stress.F90.id
5784     Src/.arch-ids/write_subs.F.id
5785     Src/Sys/.arch-ids/intel-checks.make.id
5786     Src/Sys/intel-checks.make Src/state_analysis.F Src/stress.F90
5787     Src/write_subs.F
5788
5789    removed files:
5790     Tests/.arch-ids/compara.id Tests/compara
5791
5792    modified files:
5793     Docs/CHANGES Src/Makefile Src/alloc.F90 Src/bsd.f Src/coor.F
5794     Src/fixed.F Src/kpoint_grid.F90 Src/ksvinit.F Src/local_DOS.F
5795     Src/m_mpi_utils.F Src/parallel.f Src/post_scf_work.F
5796     Src/pulayx.F Src/scfconvergence_test.F Src/setup_hamiltonian.F
5797     Src/siesta.F Src/siesta_analysis.F Src/siesta_geom.F90
5798     Src/siesta_init.F Src/siesta_move.F Src/siesta_todo.F
5799     Src/sparse_matrices.F90 Src/state_init.F Src/struct_init.F
5800     Src/zheevds.F90 Tests/bsc-Makefile Tests/bsc-compare.sh
5801     Tests/bsc-test.mk Tests/h2oZ/h2oZ.fdf version.info
5802    new patches:
5803     mq@bsc--2007/mq--feb16--1.0--patch-1
5804
5805
58062007-02-17 20:00:10 GMT	Alberto Garcia <albertog@icmab.es>	patch-11
5807
5808Summary: Fourth session at the BSC
5809Keywords:
5810
5811* New routine state_analysis.F split from siesta_move.F
5812
5813* Some variables taken out of siesta_todo and moved to
5814various places:
5815
5816 - New module m_stress in stress.F90 holds stress et al
5817  (Some variables could actually be turned into locals
5818   in several routines, except perhaps 'stress'.)
5819 - mscell et al moved to siesta_geom
5820 - nh and nhmax moved to sparse_matrices
5821
5822* write_subs now holds the siesta_write_XX routines
5823  formerly in siesta_todo
5824
5825* Some allocatables changed to pointers in fixed.F and pulayx.F
5826  (First step: just use re_alloc instead of allocate/memory
5827   In a second step work arrays will live outside)
5828
5829* Cosmetic changes in m_mpi_utils.F90 (in the context of the
5830analysis of the MPI interface)
5831
5832* Changes in coor.F:
5833  - mscell, nsc changed to coor_mscell and coord_nsc
5834  - routine superx_coor taken out of the coor scope, to
5835    avoid clashes with the imported variables in coor.
5836    (this supercell does not have anything to do with the
5837     auxiliary supercell for matrix elements)
5838
5839
58402007-02-15 22:13:10 GMT	Alberto Garcia <albertog@icmab.es>	patch-10
5841
5842    Summary:
5843      Some conversions to Fortran90 by M. Quero
5844    Revision:
5845      siesta-bsc--master--2.1--patch-10
5846
5847    zmatrix.F90, zheevs.F90, siesta_options.F90
5848
5849
5850
5851    modified files:
5852     Src/siesta_options.F90 Src/zheevds.F90 Src/zmatrix.F90
5853
5854    renamed files:
5855     Src/.arch-ids/siesta_options.F.id
5856       ==> Src/.arch-ids/siesta_options.F90.id
5857     Src/.arch-ids/zheevds.f.id
5858       ==> Src/.arch-ids/zheevds.F90.id
5859     Src/.arch-ids/zmatrix.F.id
5860       ==> Src/.arch-ids/zmatrix.F90.id
5861     Src/siesta_options.F
5862       ==> Src/siesta_options.F90
5863     Src/zheevds.f
5864       ==> Src/zheevds.F90
5865     Src/zmatrix.F
5866       ==> Src/zmatrix.F90
5867
5868    new patches:
5869     ag@bsc--2007/siesta-bsc--ag--2.1--patch-16
5870     mqag@bsc--2007/siesta-bsc--mqag--2.1--patch-5
5871
5872
58732007-02-15 21:39:24 GMT	Alberto Garcia <albertog@icmab.es>	patch-9
5874
5875    Summary:
5876      Fix import of no_l in born_charge
5877    Revision:
5878      siesta-bsc--master--2.1--patch-9
5879
5880
5881    modified files:
5882     Src/born_charge.F
5883
5884
58852007-02-16 02:10:07 GMT	Alberto Garcia <albertog@icmab.es>	patch-8
5886
5887    Summary:
5888      Siesta_todo slimming by M. Quero
5889    Revision:
5890      siesta-bsc--master--2.1--patch-8
5891
5892    Module imports in siesta_todo have been almost eliminated.
5893
5894    Only the variables declared explicitly as local in the old siesta.F
5895    remain in siesta_todo. (Work done by Manuel Quero after the third meeting)
5896
5897    (Note: the cosmetic changes in neighb.f, ranger.f, and struct_init.F90,
5898    have not been applied)
5899
5900    A bug in born_charge.F has been fixed by AG.
5901
5902    Patches applied:
5903
5904     * mqag@bsc--2007/siesta-bsc--mqag--2.1--patch-3
5905       Progressive emptying of siesta_todo
5906
5907     * mqag@bsc--2007/siesta-bsc--mqag--2.1--patch-4
5908       Add siesta_geom imports to born_charge.F
5909
5910
5911    modified files:
5912     Src/Makefile Src/born_charge.F Src/compute_dm.F Src/coor.F
5913     Src/hsparse.f Src/local_DOS.F Src/m_broyden_mixing.f
5914     Src/mixer.F Src/new_dm.F Src/normalize_dm.F
5915     Src/post_scf_work.F Src/projected_DOS.F Src/proximity_check.F
5916     Src/scfconvergence_test.F Src/setup_hamiltonian.F Src/siesta.F
5917     Src/siesta_analysis.F Src/siesta_end.F Src/siesta_geom.F90
5918     Src/siesta_init.F Src/siesta_move.F Src/siesta_options.F
5919     Src/siesta_todo.F Src/sparse_matrices.F90 Src/state_init.F
5920     Src/struct_init.F Src/write_md_record.F Src/xcmod.F
5921
5922    new patches:
5923     ag@bsc--2007/siesta-bsc--ag--2.1--patch-14
5924     mqag@bsc--2007/siesta-bsc--mqag--2.1--patch-3
5925     mqag@bsc--2007/siesta-bsc--mqag--2.1--patch-4
5926
5927
59282007-02-16 02:08:19 GMT	Alberto Garcia <albertog@icmab.es>	patch-7
5929
5930    Summary:
5931      Initialize iza in struct_init
5932    Revision:
5933      siesta-bsc--master--2.1--patch-7
5934
5935    The array iza might be needed by ioxv in struct_init, but it was initialized
5936    only later in atomlist.
5937
5938
5939
5940    modified files:
5941     Src/atomlist.f Src/struct_init.F
5942
5943    new patches:
5944     ag@bsc--2007/siesta-bsc--ag--2.1--patch-10
5945
5946
59472007-02-16 02:07:23 GMT	Alberto Garcia <albertog@icmab.es>	patch-6
5948
5949    Summary:
5950      Encapsulation of k-point handling
5951    Revision:
5952      siesta-bsc--master--2.1--patch-6
5953
5954    The different k-point grids now live in different modules,
5955    and are set up (or their size estimated) early in siesta_init.
5956
5957    The scf kgrid has its own module, kpoint_grid, and a more
5958    sophisticated (but equivalent) logic inside.  (Except for a cosmetic
5959    change when the auxiliary k-point supercell is the trivial one but
5960    with permuted rows).
5961
5962    The others, notably the polarization grid, are just
5963    encapsulated, without much change.
5964
5965    Patches applied:
5966
5967     * ag@bsc--2007/siesta-bsc--ag--2.1--patch-7
5968       New utilities for scf kgrid construction
5969
5970     * ag@bsc--2007/siesta-bsc--ag--2.1--patch-8
5971       Fix use of uninitialized maxk
5972
5973     * ag@bsc--2007/siesta-bsc--ag--2.1--patch-11
5974       Move band initialization back to siesta_init
5975
5976     * ag@bsc--2007/siesta-bsc--ag--2.1--patch-12
5977       Encapsulate k-point processing for wavefunction printout
5978
5979     * ag@bsc--2007/siesta-bsc--ag--2.1--patch-13
5980       Encapsulation of polarization k-point setup
5981
5982    new files:
5983     Src/.arch-ids/find_kgrid.F.id Src/.arch-ids/setup_kscell.F.id
5984     Src/find_kgrid.F Src/setup_kscell.F
5985
5986    removed files:
5987     Src/.arch-ids/repol.F.id Src/repol.F
5988
5989    modified files:
5990     Src/Makefile Src/bands.F Src/born_charge.F Src/dhscf.F
5991     Src/diagg.F Src/diagk.F Src/fermid.F Src/kpoint_grid.F90
5992     Src/ksv.f Src/ksvinit.F Src/siesta_analysis.F
5993     Src/siesta_init.F Src/siesta_todo.F Src/state_init.F
5994     Src/writewave.F Tests/born/born.fdf
5995
5996    renamed files:
5997     Src/.arch-ids/ksvinit.f.id
5998       ==> Src/.arch-ids/ksvinit.F.id
5999     Src/ksvinit.f
6000       ==> Src/ksvinit.F
6001
6002    new patches:
6003     ag@bsc--2007/siesta-bsc--ag--2.1--patch-7
6004     ag@bsc--2007/siesta-bsc--ag--2.1--patch-8
6005     ag@bsc--2007/siesta-bsc--ag--2.1--patch-11
6006     ag@bsc--2007/siesta-bsc--ag--2.1--patch-12
6007     ag@bsc--2007/siesta-bsc--ag--2.1--patch-13
6008
6009
60102007-02-09 10:48:32 GMT	Alberto Garcia <albertog@icmab.es>	patch-5
6011
6012    Summary:
6013      More options for running tests
6014    Revision:
6015      siesta-bsc--master--2.1--patch-5
6016
6017    Several versions of Makefile and test.mk are provided in Tests:
6018
6019    bsc-Makefile, bsc-test.mk  : For BSC work
6020    std-Makefile, std-test.mk  : Standard, complete versions
6021
6022    The user should link the chosen versions to Makefile and test.mk
6023
6024
6025
6026    new files:
6027     Tests/.arch-ids/bsc-compare.sh.id Tests/bsc-compare.sh
6028
6029    modified files:
6030     Tests/README Tests/bsc-Makefile Tests/bsc-test.mk
6031     Tests/std-compare.sh
6032
6033    renamed files:
6034     Tests/.arch-ids/Makefile.id
6035       ==> Tests/.arch-ids/std-Makefile.id
6036     Tests/.arch-ids/compare.sh.id
6037       ==> Tests/.arch-ids/std-compare.sh.id
6038     Tests/.arch-ids/test.mk.id
6039       ==> Tests/.arch-ids/std-test.mk.id
6040     Tests/Makefile
6041       ==> Tests/std-Makefile
6042     Tests/compare.sh
6043       ==> Tests/std-compare.sh
6044     Tests/test.mk
6045       ==> Tests/std-test.mk
6046
6047
60482007-02-08 11:15:51 GMT	Alberto Garcia <albertog@icmab.es>	patch-4
6049
6050    Summary:
6051      New stub module for sparse matrices
6052    Revision:
6053      siesta-bsc--master--2.1--patch-4
6054
6055    A stub module to hold the sparse matrices ('sparse_matrices') has been
6056    created.  It just holds the relevant variables, without any attempt to
6057    create derived types yet.
6058
6059    (Work done at BSC in the afternoon of Feb 7)
6060
6061
6062    new files:
6063     Src/.arch-ids/sparse_matrices.F90.id Src/sparse_matrices.F90
6064
6065    modified files:
6066     Docs/CHANGES Src/Makefile Src/born_charge.F Src/compute_dm.F
6067     Src/local_DOS.F Src/mixer.F Src/new_dm.F Src/normalize_dm.F
6068     Src/post_scf_work.F Src/projected_DOS.F
6069     Src/setup_hamiltonian.F Src/siesta_analysis.F
6070     Src/siesta_init.F Src/siesta_move.F Src/siesta_todo.F
6071     Src/state_init.F version.info
6072
6073    new patches:
6074     ag@bsc--2007/siesta-bsc--ag--2.1--patch-5
6075
6076
60772007-02-08 10:58:38 GMT	Alberto Garcia <albertog@icmab.es>	patch-3
6078
6079    Summary:
6080      New geometry module
6081    Revision:
6082      siesta-bsc--master--2.1--patch-3
6083
6084    A new module siesta_geom has been created to hold basic geometry
6085    information.
6086
6087    Thus the atomic coordinates no longer live in 'atomlists', and the unit
6088    cell no longer lives in 'm_cell'. Supercell variables have also be put
6089    in the new module.
6090
6091    + Some more slimming down of 'siesta_todo'.
6092
6093
6094    new files:
6095     Src/.arch-ids/siesta_geom.F90.id Src/siesta_geom.F90
6096
6097    modified files:
6098     Docs/CHANGES Src/Makefile Src/atomlist.f Src/coor.F
6099     Src/diagsprl.F Src/iozm.F Src/local_DOS.F Src/m_cell.f
6100     Src/m_iostruct.f Src/outcoor.f Src/pdos.F
6101     Src/siesta_analysis.F Src/siesta_init.F Src/siesta_move.F
6102     Src/siesta_options.F Src/siesta_todo.F Src/struct_init.F
6103     Src/writewave.F Src/zmatrix.F version.info
6104
6105    new patches:
6106     ag@bsc--2007/siesta-bsc--ag--2.1--patch-4
6107
6108
61092007-02-08 10:35:15 GMT	Alberto Garcia <albertog@icmab.es>	patch-2
6110
6111    Summary:
6112      Creation of a module to hold the siesta options
6113    Revision:
6114      siesta-bsc--master--2.1--patch-2
6115
6116    A new module 'siesta_options' has been created to hold the program
6117    options (typically those variables that can be specified in the fdf file).
6118    The catch-all module 'siesta_todo' has been slimmed down accordingly.
6119
6120    Routine redata has been put in the module, renamed as 'read_options'.
6121
6122    A few other option-setting statements in the old siesta.F have been put
6123    into read_options.
6124
6125    Some others remain scattered:
6126
6127    1. Those in the Broyden routines.
6128    2. Those needed to process the initial geometry, read in struct_init.
6129
6130    (Work done at the BSC on Feb 7)
6131
6132
6133
6134    new files:
6135     Src/.arch-ids/siesta_options.F.id Src/siesta_options.F
6136
6137    removed files:
6138     Src/.arch-ids/m_smearing.f.id Src/.arch-ids/redata.F.id
6139     Src/m_smearing.f Src/redata.F
6140
6141    modified files:
6142     Docs/CHANGES Src/Makefile Src/compute_dm.F Src/local_DOS.F
6143     Src/mixer.F Src/new_dm.F Src/post_scf_work.F
6144     Src/projected_DOS.F Src/proximity_check.F
6145     Src/scfconvergence_test.F Src/setup_hamiltonian.F Src/siesta.F
6146     Src/siesta_analysis.F Src/siesta_init.F Src/siesta_move.F
6147     Src/siesta_todo.F Src/state_init.F Src/struct_init.F
6148     Src/write_md_record.F version.info
6149
6150    new patches:
6151     ag@bsc--2007/siesta-bsc--ag--2.1--patch-3
6152
6153
61542007-02-08 09:52:48 GMT	Alberto Garcia <albertog@icmab.es>	patch-1
6155
6156    Summary:
6157      Use of xalast in analysis routines. Exit of geometry loop
6158    Revision:
6159      siesta-bsc--master--2.1--patch-1
6160
6161    The conditions for the setting and use of xalast have been clarified.
6162
6163    The analysis routines (KSVpol, optical, dhscf (in plotting mode),
6164    local_DOS) now use the xalast array, which always refers to the atomic
6165    positions for which the density matrix was computed at the last
6166    geometry iteration performed (i.e., it is set before moving the atoms).
6167
6168    For consistency, new arrays ucell_last and scell_last are similarly handled.
6169
6170    Apart from those routines, the new setting conditions for xalast affect the
6171    computation of the virial correction to the "molecular pressure".
6172
6173    In the geometry loop, the ending condition for istep has been
6174    corrected: it is not increased if the structure is relaxed.
6175
6176    (Work done at BSC in the morning of Feb 7)
6177
6178
6179
6180    new files:
6181     Src/.arch-ids/m_siesta.jose.F.id Src/m_siesta.jose.F
6182
6183    modified files:
6184     Docs/CHANGES Src/local_DOS.F Src/m_cell.f Src/siesta.F
6185     Src/siesta_analysis.F Src/siesta_move.F Src/siesta_todo.F
6186     version.info
6187
6188    new patches:
6189     ag@bsc--2007/siesta-bsc--ag--2.1--patch-2
6190
6191
61922007-02-08 08:53:10 GMT	Alberto Garcia <albertog@icmab.es>	base-0
6193
6194    Summary:
6195      tag of siesta@uam.es--2006/siesta-bsc--reference--2.1--patch-7
6196    Revision:
6197      siesta-bsc--master--2.1--base-0
6198
6199    (automatically generated log message)
6200
6201____________________________________________________________________
6202** CHANGES ALONG siesta@uam.es--2006/siesta-bsc--reference--2.1
6203--------------------------------------------------------------------
6204
62052007-02-07 7:30 GMT	Alberto Garcia <albertog@icmab.es>	patch-7
6206
6207Summary: Moved the Born-effective-charge code
6208Keywords:
6209
6210Created a new module in born_charge.F.
6211
6212The code is now executed by a call to born_charge() right after the
6213end of the force calculation at the end of the geometry loop. There is
6214no need to save xalast for this, as the coordinates have not yet been
6215moved. (Note that KSV_pol is called with xa instead of xalast).
6216
6217Created new test 'born' and updated compare.sh
6218
62192007-02-07 7:21 GMT	Alberto Garcia <albertog@icmab.es>	patch-6
6220
6221Summary: Work by Manuel Quero before the meeting on Feb 7th
6222
6223New routines:
6224
6225* new_dm          (code formerly in state_init)
6226* normalize_dm    (code formerly in setup_hamiltonian)
6227* local_DOS
6228* projected_DOS   (code formerly in siesta_analysis)
6229
6230All the new routines split off from siesta.F have been placed in modules.
6231
6232(kgrid and kgridinit are still not in the kgrid module, as they are used
6233in the KSV and optical sections -- more analysis is needed)
6234
6235(Jose Soler's new version of the siesta_todo module is still not used)
6236
6237(Code edited by Alberto Garcia from a package sent by Manuel Quero)
6238
62392007-01-31 10:21:37 GMT	Alberto Garcia <albertog@icmab.es>	patch-5
6240
6241Summary: Kgrid setup streamlined. Bands. Proximity check. Hsparse allocation
6242Keywords:
6243
6244* The kgrid handling is now done through a new module kpoint_grid, which exports
6245the new routine setup_Kpoint_grid, and holds kpoint and other arrays.
6246
6247The kgrid is initialized for the first geometry in siesta_init, and then
6248updated in the geometry loop (the conditions of the update are those of the
6249original reference version: varcel or server calculation)
6250
6251Kgridinit (still outside the new module) has had its nkpnt argument
6252made "intent(out)".
6253
6254* The setup of the band k-points has been moved to a new routine
6255'setup_bands' in module 'band' in file 'bands.F', which also holds
6256now nbk, maxbk, and bk. The setup routine is called right before the
6257band calculation *after* the geometry loop, instead of at the beginning
6258of the run (with the initial geometry).
6259The influence of nbk on 'gamma' has been removed, as it could conflict with
6260the self-consistent calculation.
6261
6262(* The similar Writewave and KSV initializations have not been
6263refactored yet)
6264
6265* The 'proximity check' code has been put into a new subroutine with
6266that name. Some of the local loop variables have been renamed.
6267
6268* After the call to hsparse, the code for allocation of some arrays
6269has been simplified.
6270
6271(This was the end of the second iteration of work at BSC by JMC, MQ, and AG
6272on 30 January).
6273
62742007-01-31 10:19:37 GMT	Alberto Garcia <albertog@icmab.es>	patch-4
6275
6276Summary: Initialize vol2 correctly in m_check_supercell.f
6277Keywords:
6278
6279(This patch is needed so that tests run in a predictable manner:
6280the uninitialized vol2 had an influence on code path and led to
6281erratic differences in outputs).
6282The base version (in siesta-devel--bsc--base--2.1, a branch of
6283siesta-devel--reference--2.1--patch-29) has also been corrected.
6284
6285Modified-files: Src/m_check_supercell.f
6286
62872007-01-31 10:15:37 GMT	Alberto Garcia <albertog@icmab.es>	patch-3
6288
6289Summary: Consolidate geometry updates at the end of loop
6290Keywords:
6291
6292* Move comment about start of geometry loop to the right place in
6293 siesta.F
6294
6295* For idyn cases 6 (force constant), 7 (phonon interface), and 8
6296(server calculation), move the coordinate updates from the beginning
6297to the end of the geometry loop. The logic of geometry output to file XV
6298has been maintained. For cases 6 and 7, any output to a MD history file
6299is now done with the current (distorted) coordinates, instead of with
6300the restored (undisplaced) coordinates (bug of original version).
6301
6302Note that the logic of XV output for the true MD cases has been maintained.
6303(next step's geometry, current step's velocities).
6304
6305The MD output (together with any pixmol output) has been encapsulated
6306in a new file write_md_record.F
6307
6308New-files: Src/.arch-ids/write_md_record.F.id
6309    Src/write_md_record.F
6310Modified-files: Src/Makefile Src/siesta.F Src/siesta_init.F
6311    Src/siesta_move.F Src/state_init.F
6312
6313
63142007-01-31 10:06:37 GMT	Alberto Garcia <albertog@icmab.es>	patch-2
6315
6316    Summary:
6317      Created struct_init for initial geometry setup. New test force_2
6318    Revision:
6319      siesta-bsc--reference--2.1--patch-2
6320
6321    Struct_init has been detached from siesta_init to perform a self-contained
6322    geometry setup.
6323
6324    Notes:
6325
6326    * Ns is now set in initatom, and it is "intent(in)" in redata.
6327
6328    * Those variables which have to do with structural input
6329    are read twice: once in struct_init, and then in redata, pending a
6330    re-structuring of the latter. In some cases local variables are
6331    used.
6332
6333    * iza is still set up in initatomlists. This means that some of the
6334    structural output has to be kept in siesta_init for now. The fix is to
6335    compute iza in coor or in read_struct.
6336
6337    * va and vcell are zeroed out if an XV file is not used. But the
6338    zmatrix i/o routine is in principle able to read vcell (?).
6339
6340    * Put the calls to struct_init and initatomlists closer.
6341    Do the array initialization inside of initatomlists.
6342
6343    New test "force_2" for force-constant calculation with a smaller
6344    runtime than "force_constants"
6345
6346    (Note: the initial coordinate output and other details are now output
6347    in a different order from that in the base version)
6348
6349
6350    new files:
6351     Src/.arch-ids/struct_init.F.id Src/struct_init.F
6352     Tests/Reference/.arch-ids/force_2.out.id
6353     Tests/Reference/force_2.out Tests/force_2/.arch-ids/=id
6354     Tests/force_2/.arch-ids/FC.fdf.id
6355     Tests/force_2/.arch-ids/force_2.fdf.id
6356     Tests/force_2/.arch-ids/force_2.pseudos.id
6357     Tests/force_2/.arch-ids/makefile.id Tests/force_2/FC.fdf
6358     Tests/force_2/force_2.fdf Tests/force_2/force_2.pseudos
6359     Tests/force_2/makefile
6360
6361    modified files:
6362     Src/Makefile Src/atomlist.f Src/initatom.f Src/redata.F
6363     Src/siesta_init.F Src/siesta_todo.F
6364
6365    new directories:
6366     Tests/force_2 Tests/force_2/.arch-ids
6367
6368    new patches:
6369     agarcia@siesta.arch--2006/siesta-bsc--agarcia--2.1--patch-1
6370     agarcia@siesta.arch--2006/siesta-bsc--agarcia--2.1--patch-2
6371
6372
63732007-01-25 13:17:04 GMT	Alberto Garcia <albertog@icmab.es>	patch-1
6374
6375    Summary:
6376      First stage of siesta.F splitting at BSC
6377    Revision:
6378      siesta-bsc--reference--2.1--patch-1
6379
6380    The first coding session at BSC on January 19, 2007 resulted in a first
6381    splitting of siesta.F into blocks.
6382
6383    A new module "siesta_todo.F" was created holding most of the variables
6384    declared in siesta.F, as well as all the 'use' statements. External
6385    subroutines are kept for now in siesta.F. "siesta_todo.F" also
6386    contains the output routines which were formerly internal routines of
6387    the main program.
6388
6389    Several new files were created:
6390
6391    siesta_init
6392     state_init
6393      setup_hamiltonian
6394      compute_dm
6395      mixer
6396      scfconvergence_test
6397      post_scf_work
6398     siesta_move
6399    siesta_analysis
6400    siesta_end
6401
6402    siesta.F is now much smaller, and has calls to those routines plus
6403    the minimum logic to control the geometry and scf loops. No attempt
6404    has been made to tidy up any of the blocks yet.
6405
6406    The scf loop has been re-structured to separate the "last" pass which
6407    was performed after scf convergence. Some more work is needed to
6408    clarify the behavior in borderline and non-standard cases.
6409
6410    The Makefile was updated.
6411
6412    Added new file Src/Sys/marenostrum-mpi.make.
6413
6414    Added new file Tests/compare.sh to automate comparisons with reference
6415    output (works best if the reference output is from the same platform,
6416    to avoid rounding differences).
6417
6418    Added new test Tests/force_constants to exercise the idyn=6 code.
6419
6420
6421    new files:
6422     Src/.arch-ids/compute_dm.F.id Src/.arch-ids/mixer.F.id
6423     Src/.arch-ids/post_scf_work.F.id
6424     Src/.arch-ids/scfconvergence_test.F.id
6425     Src/.arch-ids/setup_hamiltonian.F.id
6426     Src/.arch-ids/siesta_analysis.F.id
6427     Src/.arch-ids/siesta_end.F.id Src/.arch-ids/siesta_init.F.id
6428     Src/.arch-ids/siesta_move.F.id Src/.arch-ids/siesta_todo.F.id
6429     Src/.arch-ids/state_init.F.id
6430     Src/Sys/.arch-ids/marenostrum-mpi.make.id
6431     Src/Sys/marenostrum-mpi.make Src/compute_dm.F Src/mixer.F
6432     Src/post_scf_work.F Src/scfconvergence_test.F
6433     Src/setup_hamiltonian.F Src/siesta_analysis.F Src/siesta_end.F
6434     Src/siesta_init.F Src/siesta_move.F Src/siesta_todo.F
6435     Src/state_init.F Tests/.arch-ids/bsc-Makefile.id
6436     Tests/.arch-ids/bsc-test.mk.id Tests/.arch-ids/compara.id
6437     Tests/.arch-ids/compare.sh.id
6438     Tests/Reference/.arch-ids/force_constants.out.id
6439     Tests/Reference/force_constants.out Tests/bsc-Makefile
6440     Tests/bsc-test.mk Tests/compara Tests/compare.sh
6441     Tests/force_constants/.arch-ids/=id
6442     Tests/force_constants/.arch-ids/FC.fdf.id
6443     Tests/force_constants/.arch-ids/force_constants.fdf.id
6444     Tests/force_constants/.arch-ids/force_constants.pseudos.id
6445     Tests/force_constants/.arch-ids/makefile.id
6446     Tests/force_constants/FC.fdf
6447     Tests/force_constants/force_constants.fdf
6448     Tests/force_constants/force_constants.pseudos
6449     Tests/force_constants/makefile
6450
6451    modified files:
6452     Src/Makefile Src/siesta.F Src/version.F90 version.info
6453
6454    new directories:
6455     Tests/force_constants Tests/force_constants/.arch-ids
6456
6457
64582007-01-25 10:02:43 GMT	Alberto Garcia <albertog@icmab.es>	base-0
6459
6460    Summary:
6461      tag of siesta@uam.es--2006/siesta-devel--reference--2.1--patch-29
6462    Revision:
6463      siesta-bsc--reference--2.1--base-0
6464
6465    (automatically generated log message)
6466
6467