12013-18-03 17:30 Fabiano Corsetti <fcorsetti@nanogune.eu>  trunk-432--minim-10
2Bug fix and two tests added
3
4* Bug fix for change of nhmax between MD steps that affects parallel runs with
5  sparse algebra
6* Two tests have been added to the Tests directory, one for m_dminim and one for
7  m_zminim
8
9added:
10  Tests/OMM_h2o/
11  Tests/OMM_h2o/Makefile
12  Tests/OMM_h2o/OMM_h2o.fdf
13  Tests/OMM_h2o/OMM_h2o.pseudos
14  Tests/OMM_si/
15  Tests/OMM_si/Makefile
16  Tests/OMM_si/OMM_si.fdf
17  Tests/OMM_si/OMM_si.pseudos
18modified:
19  Docs/siesta.tex
20  Src/m_dminim.F90
21  Src/m_zminim.F90
22  Tests/Makefile
23
242013-15-03 17:00 Fabiano Corsetti <fcorsetti@nanogune.eu>  trunk-432--minim-9
25Merge with trunk-432 and manual updated
26
27removed:
28  Docs/siesta.ind
29  Src/fdf/tags
30  Src/m_ts_contour.F
31added:
32  Docs/Makefile
33  Docs/TS-npa.CHANGES
34  Docs/TranSiestaUpdate.pdf
35  Src/kpoint_convert.f90
36  Src/m_glob_sparse.F90
37  Src/m_hs_matrix.f90
38  Src/m_partial_charges.F
39  Src/m_ts_cctype.f90
40  Src/m_ts_contour.f90
41  Src/m_ts_gf.F90
42  Src/m_ts_voltage.F90
43  Src/ts_init.F90
44  Src/ts_show_regions.f90
45  Tests/Reference-xml/si_fatbands.xml
46  Tests/Reference/TranSiesta-TBTrans/ts_au_100/
47  Tests/Reference/TranSiesta-TBTrans/ts_au_100/au_100.TRANS
48  Tests/Reference/TranSiesta-TBTrans/ts_au_100/au_100.out
49  Tests/Reference/TranSiesta-TBTrans/ts_au_100/elec_au_100.out
50  Tests/Reference/TranSiesta-TBTrans/ts_au_100/tbt_au_100.out
51  Tests/Reference/TranSiesta-TBTrans/ts_au_100_0.25V/
52  Tests/Reference/TranSiesta-TBTrans/ts_au_100_0.25V/au_100.TRANS
53  Tests/Reference/TranSiesta-TBTrans/ts_au_100_0.25V/au_100.out
54  Tests/Reference/TranSiesta-TBTrans/ts_au_100_0.25V/elec_au_100.out
55  Tests/Reference/TranSiesta-TBTrans/ts_au_100_0.25V/tbt_au_100.out
56  Tests/Reference/TranSiesta-TBTrans/ts_au_100_repetition/
57  Tests/Reference/TranSiesta-TBTrans/ts_au_100_repetition/au_100.TRANS
58  Tests/Reference/TranSiesta-TBTrans/ts_au_100_repetition/au_100.out
59  Tests/Reference/TranSiesta-TBTrans/ts_au_100_repetition/elec_au_100.out
60  Tests/Reference/TranSiesta-TBTrans/ts_au_100_repetition/tbt_au_100.out
61  Tests/Reference/TranSiesta-TBTrans/ts_au_100_repetition_0.25V/
62  Tests/Reference/TranSiesta-TBTrans/ts_au_100_repetition_0.25V/au_100.TRANS
63  Tests/Reference/TranSiesta-TBTrans/ts_au_100_repetition_0.25V/au_100.out
64  Tests/Reference/TranSiesta-TBTrans/ts_au_100_repetition_0.25V/elec_au_100.out
65  Tests/Reference/TranSiesta-TBTrans/ts_au_100_repetition_0.25V/tbt_au_100.out
66  Tests/Reference/TranSiesta-TBTrans/ts_au_repetition/
67  Tests/Reference/TranSiesta-TBTrans/ts_au_repetition/au_111_capacitor.AVTRANS
68  Tests/Reference/TranSiesta-TBTrans/ts_au_repetition/au_111_capacitor.TEIG
69  Tests/Reference/TranSiesta-TBTrans/ts_au_repetition/au_111_capacitor.TRANS
70  Tests/Reference/TranSiesta-TBTrans/ts_au_repetition/au_111_capacitor.out
71  Tests/Reference/TranSiesta-TBTrans/ts_au_repetition/elec_au_111_abc.out
72  Tests/Reference/TranSiesta-TBTrans/ts_au_repetition/tbt_au_111_capacitor.out
73  Tests/Reference/si_fatbands.out
74  Tests/TranSiesta-TBTrans/ts_au_100/
75  Tests/TranSiesta-TBTrans/ts_au_100/Au.psf
76  Tests/TranSiesta-TBTrans/ts_au_100/au_100.fdf
77  Tests/TranSiesta-TBTrans/ts_au_100/elec_au_100.fdf
78  Tests/TranSiesta-TBTrans/ts_au_100/makefile
79  Tests/TranSiesta-TBTrans/ts_au_100/script.sh
80  Tests/TranSiesta-TBTrans/ts_au_100_0.25V/
81  Tests/TranSiesta-TBTrans/ts_au_100_0.25V/Au.psf
82  Tests/TranSiesta-TBTrans/ts_au_100_0.25V/au_100.fdf
83  Tests/TranSiesta-TBTrans/ts_au_100_0.25V/elec_au_100.fdf
84  Tests/TranSiesta-TBTrans/ts_au_100_0.25V/makefile
85  Tests/TranSiesta-TBTrans/ts_au_100_0.25V/script.sh
86  Tests/TranSiesta-TBTrans/ts_au_100_repetition/
87  Tests/TranSiesta-TBTrans/ts_au_100_repetition/Au.psf
88  Tests/TranSiesta-TBTrans/ts_au_100_repetition/au_100.fdf
89  Tests/TranSiesta-TBTrans/ts_au_100_repetition/elec_au_100.fdf
90  Tests/TranSiesta-TBTrans/ts_au_100_repetition/makefile
91  Tests/TranSiesta-TBTrans/ts_au_100_repetition/script.sh
92  Tests/TranSiesta-TBTrans/ts_au_100_repetition_0.25V/
93  Tests/TranSiesta-TBTrans/ts_au_100_repetition_0.25V/Au.psf
94  Tests/TranSiesta-TBTrans/ts_au_100_repetition_0.25V/au_100.fdf
95  Tests/TranSiesta-TBTrans/ts_au_100_repetition_0.25V/elec_au_100.fdf
96  Tests/TranSiesta-TBTrans/ts_au_100_repetition_0.25V/makefile
97  Tests/TranSiesta-TBTrans/ts_au_100_repetition_0.25V/script.sh
98  Tests/TranSiesta-TBTrans/ts_au_repetition/
99  Tests/TranSiesta-TBTrans/ts_au_repetition/Au.psf
100  Tests/TranSiesta-TBTrans/ts_au_repetition/au_111_capacitor.fdf
101  Tests/TranSiesta-TBTrans/ts_au_repetition/elec_au_111_abc.fdf
102  Tests/TranSiesta-TBTrans/ts_au_repetition/makefile
103  Tests/TranSiesta-TBTrans/ts_au_repetition/script.sh
104  Tests/h2o-pop/
105  Tests/h2o-pop/h2o-pop.fdf
106  Tests/h2o-pop/h2o-pop.pseudos
107  Tests/h2o-pop/makefile
108  Tests/md-anneal-cont/
109  Tests/md-anneal-cont/README
110  Tests/md-anneal-cont/makefile
111  Tests/md-anneal-cont/script.sh
112  Tests/md-cont/
113  Tests/md-cont-no-restart-file/
114  Tests/md-cont-no-restart-file/README
115  Tests/md-cont-no-restart-file/makefile
116  Tests/md-cont-no-restart-file/script.sh
117  Tests/md-cont/README
118  Tests/md-cont/makefile
119  Tests/md-cont/script.sh
120  Tests/md-single-run/
121  Tests/md-single-run/README
122  Tests/md-single-run/makefile
123  Tests/md-single-run/script.sh
124  Tests/si_fatbands/
125  Tests/si_fatbands/makefile
126  Tests/si_fatbands/si_fatbands.fdf
127  Tests/si_fatbands/si_fatbands.pseudos
128  Util/Bands/
129  Util/Bands/Makefile
130  Util/Bands/README
131  Util/Bands/eigfat2plot.f90
132  Util/Bands/f2kcli.F90
133  Util/Bands/fat.gplot
134  Util/Bands/m_getopts.f90
135  Util/Bands/new.gnubands.f90
136  Util/COOP/Tests/si_fatbands/
137  Util/COOP/Tests/si_fatbands/README
138  Util/COOP/Tests/si_fatbands/fatbands.mpr
139  Util/COOP/fat.f90
140  Util/Denchar/Examples/2dplot.py
141  Util/Denchar/Examples/FullExample.fdf
142  Util/Denchar/Examples/Si.psf
143  Util/Denchar/Examples/surf.py
144  Util/Denchar/Src/readwavesx.f
145  Util/JobList/
146  Util/JobList/Examples/
147  Util/JobList/Examples/Ice/
148  Util/JobList/Examples/Ice/H.psf
149  Util/JobList/Examples/Ice/O.psf
150  Util/JobList/Examples/Ice/defaults.fdf
151  Util/JobList/Examples/Ice/dzp.fdf
152  Util/JobList/Examples/Ice/filter100.fdf
153  Util/JobList/Examples/Ice/iceChecks.jobs
154  Util/JobList/Examples/Ice/iceVIII.fdf
155  Util/JobList/Examples/Ice/iceXI.fdf
156  Util/JobList/Examples/Ice/meshCutoff.gplot
157  Util/JobList/Examples/Ice/meshCutoff.jobs
158  Util/JobList/Examples/Ice/pseudoLMKLL.fdf
159  Util/JobList/Examples/Ice/pseudoPBE.fdf
160  Util/JobList/Examples/Ice/pseudoVV.fdf
161  Util/JobList/Examples/Ice/queue.sh
162  Util/JobList/Examples/Ice/qzp.fdf
163  Util/JobList/Examples/Ice/tzp.fdf
164  Util/JobList/README
165  Util/JobList/Src/
166  Util/JobList/Src/Makefile
167  Util/JobList/Src/countJobs.f90
168  Util/JobList/Src/getResults.f90
169  Util/JobList/Src/horizontal.f90
170  Util/JobList/Src/jobList.f90
171  Util/JobList/Src/runJobs.f90
172  Util/TBTrans_rep/
173  Util/TBTrans_rep/Makefile
174  Util/TBTrans_rep/atompdos.F90
175  Util/TBTrans_rep/coop.F90
176  Util/TBTrans_rep/m_lowdin.f90
177  Util/TBTrans_rep/m_tbt_iotshs.F90
178  Util/TBTrans_rep/m_tbt_kpoints.F90
179  Util/TBTrans_rep/m_tbt_options.F90
180  Util/TBTrans_rep/m_tbt_out.f90
181  Util/TBTrans_rep/m_tbt_read_tshs.F90
182  Util/TBTrans_rep/tbt_init.F90
183  Util/TBTrans_rep/tbt_reinit.F90
184  Util/TBTrans_rep/tbtrans.F90
185  Util/TBTrans_rep/transmission.f90
186  Util/TBTrans_rep/tt_eig.f90
187renamed:
188  Util/gnubands.f => Util/Bands/gnubands.f
189modified:
190  Docs/CHANGES
191  Docs/CHANGES.minim
192  Docs/README
193  Docs/siesta.tex
194  Pseudo/atom/pseudoXML.f
195  Src/MPI/Makefile
196  Src/MPI/mpi.F
197  Src/MPI/mpi_siesta.f90
198  Src/Makefile
199  Src/SiestaXC/mesh1d.f90
200  Src/automatic_cell.f
201  Src/bands.F
202  Src/basis_io.F
203  Src/basis_specs.f
204  Src/compute_dm.F
205  Src/configure
206  Src/dhscf.F
207  Src/diagk.F
208  Src/diagkp.F
209  Src/domain_decom.F
210  Src/dynamics.f
211  Src/fdf/fdf.F90
212  Src/fdf/fdf.Standard
213  Src/fdf/makefile
214  Src/find_kgrid.F
215  Src/grdsam.F
216  Src/iomd.f
217  Src/iopipes.F90
218  Src/kpoint_grid.F90
219  Src/kpoint_pdos.F90
220  Src/m_ts_aux_rout.F
221  Src/m_ts_electrode.F90
222  Src/m_ts_in_siesta.F
223  Src/m_ts_io.F90
224  Src/m_ts_kpoints.F90
225  Src/m_ts_options.F90
226  Src/m_ts_scattering.F
227  Src/meshsubs.F
228  Src/mixer.F
229  Src/new_dm.F
230  Src/optical.F
231  Src/parallel.F
232  Src/precision.F
233  Src/reinit.F
234  Src/scfconvergence_test.F
235  Src/setup_hamiltonian.F
236  Src/siesta_analysis.F
237  Src/siesta_end.F
238  Src/siesta_forces.F
239  Src/siesta_init.F
240  Src/siesta_options.F90
241  Src/struct_init.F
242  Src/transition_rate.F
243  Src/version.F90
244  Src/write_subs.F
245  Src/writewave.F
246  Tests/Makefile
247  Tests/TranSiesta-TBTrans/README
248  Tests/md_anneal/md_anneal.fdf
249  Tests/script_ts.mk
250  Util/COOP/Makefile
251  Util/COOP/README
252  Util/COOP/Tests/README
253  Util/COOP/dm_creator.F90
254  Util/COOP/main_vars.f90
255  Util/COOP/mprop.f90
256  Util/COOP/subs.f90
257  Util/Denchar/Docs/CHANGES
258  Util/Denchar/Docs/denchar.tex
259  Util/Denchar/Src/Makefile
260  Util/Denchar/Src/denchar.f
261  Util/Eig2DOS/Eig2DOS.f90
262  Util/Grid/grid2cube.f
263  Util/README
264  Util/SiestaSubroutine/README
265  Util/TBTrans/Makefile
266  Util/pseudo-xml/xml2psf_helper.f
267  version.info
268
2692013-15-03 17:00 Fabiano Corsetti <fcorsetti@nanogune.eu>  trunk-409--minim-8
270Major update (addition of many different features and keywords)
271
272* The module has been expanded to include many different versions of the OMM
273  algorithm, and several additional useful features. Keywords for the SIESTA
274  fdf input file have also been added to allow for detailed user control of the
275  module.
276* Versions of the minimization procedure now available:
277  +-----------------------------------------------------+
278  | Gamma (G)/k points (K)* G G G G G G G G K K K K K K |
279  | Preconditioning         F T F T F F F T F T F T F F |
280  | 2D data decomposition   F F T T F T F F F F T T F T |
281  | Cholesky factorizarion  F F F F T T F F F F F F T T |
282  | Sparse algebra          F F F F F F T T F F F F F F |
283  +-----------------------------------------------------+
284  | * (selected automatically)                          |
285  +-----------------------------------------------------+
286  Furthermore, all versions support spin polarized calculations (for fixed
287  integer number of electrons per spin). Extended k grid calculations also
288  require a fixed number of electrons at each k point.
289* Additional features:
290  - select level of output detail
291  - write/read WF coeffs. to/from file
292  - input ScaLAPACK blocking factor for distributing the WF coeffs. matrix
293  - input number of SCF steps for which to use preconditioning (for first MD
294    step, and subsequent MD steps)
295  - input kinetic energy scale for the preconditioning
296  - input number of SCF steps to solve with diagonalization (for first MD step,
297    and subsequent MD steps)
298  - input convergence tolerance of CG minimization
299  - choose whether to diagonalize at end of MD step to find eigenvalues
300
301removed:
302  Src/m_minim.F90
303added:
304  Src/m_dminim.F90
305  Src/m_zminim.F90
306modified:
307  Docs/CHANGES.minim
308  Src/Makefile
309  Src/compute_dm.F
310  Src/local_DOS.F
311  Src/post_scf_work.F
312  Src/projected_DOS.F
313  Src/siesta_analysis.F
314  Src/siesta_options.F90
315  Src/write_subs.F
316  version.info
317
3182012-20-11  17:00 Fabiano Corsetti <fcorsetti@nanogune.eu>  trunk-409--minim-7
319Bug fix
320
321* Bug fixed in m_minim.F90 (incorrect number of elements declared for listhptr
322  and listh). Strangely, however, the bug does not appear to cause any errors in
323  the execution of the code.
324
325modified:
326  Docs/CHANGES.minim
327  Src/m_minim.F90
328  version.info
329
3302012-11-07  19:00 Fabiano Corsetti <fcorsetti@nanogune.eu>  trunk-409--minim-6
331Added preconditioning to the CG algorithm
332
333* The iterative conjugate gradients (CG) algorithm has been modified by
334  introducing a preconditioner that premultiplies the standard gradient
335  expression. This preconditioning matrix is given by the inverse of (s+t/tau),
336  where s is the overlap matrix for the underlying SIESTA basis set, and t is
337  the corresponding kinetic energy matrix; tau is a scaling factor for the
338  kinetic energy preconditioning. Note that the preconditioner transforms the
339  gradient from covariant to contravariant (although only for the index related
340  to the underlying non-orthogonal basis), thus *partially* fixing the tensorial
341  inconsistencies of the algorithm.
342
343modified:
344  Docs/CHANGES.minim
345  Src/compute_dm.F
346  Src/m_minim.F90
347  Src/post_scf_work.F
348  version.info
349
3502012-29-06  17:00 Fabiano Corsetti <fcorsetti@nanogune.eu>  trunk-409--minim-5
351Added coefficients rescaling to prevent crashes
352
353* In certain regions of the coeffs. space the line search gives no minimum. This
354  occurs when there are positive eigenvalues in the eigenspecturm which are
355  significantly occupied by our coeffs. matrix. The only known cure,
356  unfortunately, is to scale down the entire matrix, thus returning to a safe
357  region of the coeffs. space.
358
359modified:
360  Docs/CHANGES.minim
361  Src/m_minim.F90
362  version.info
363
3642012-18-06  16:00 Fabiano Corsetti <fcorsetti@nanogune.eu>  trunk-409--minim-4
365Fixed deallocation of arrays bug
366
367* The bug was introduced by separating the calculation of the energy-density
368  matrix from the rest of the module
369
370modified:
371  Docs/CHANGES.minim
372  Src/m_minim.F90
373  version.info
374
3752012-15-06  17:00 Fabiano Corsetti <fcorsetti@nanogune.eu>  trunk-409--minim-3
376Changed initial guess for orbital coefficients
377
378* Empirical testing suggests that starting with an initial guess close to zero
379  can reduce the number of line searches in the initial SCF step by a factor of
380  2; however, if the initial guess is too small the algorithm is numerically
381  unstable
382* The impact of the initial guess on the number of line searches needs to be
383  investigated further!
384
385modified:
386  Docs/CHANGES.minim
387  Src/m_minim.F90
388  version.info
389
3902012-15-06  16:00 Fabiano Corsetti <fcorsetti@nanogune.eu>  trunk-409--minim-2
391Added documentation of changes
392
393added:
394  Docs/CHANGES.minim
395modified:
396  version.info
397
3982012-15-06  16:00 Fabiano Corsetti <fcorsetti@nanogune.eu>  trunk-409--minim-1
399Implemented the non-O(N) version of the Ordejon-Mauri functional
400
401* The functional is contained in a new module m_minim
402* The m_minim module replaces the m_ordern module and so can be called with
403  "SolutionMethod OrderN" in the SIESTA input file--note, however, that it
404  is *not* an O(N) functional, since there is no localization imposed on the
405  orbitals
406* "ON.eta" can be specified in the SIESTA input file to control the shift of
407  the eigenspectrum, in order to ensure that all of the occupied states (at
408  least) have a negative energy
409* The module works in serial with LAPACK, or in parallel with MPI and
410  ScaLAPACK
411* For efficiency, only the density matrix is computed at each SCF step,
412  while the energy-density matrix is computed once we have reached the end of
413  the SCF loop
414* By changing the assignment of CallDiagon in m_compute_dm, it is possible to
415  perform one or more of the SCF cycles at the beginning of each MD/geometry
416  optimization step by diagonalization instead of minimization; the
417  eigenfunctions are then used as the initial guess for the next minimization
418  call
419
420added:
421  Src/m_minim.F90
422modified:
423  Src/Makefile
424  Src/compute_dm.F
425  Src/post_scf_work.F
426  version.info
427