~jose-soler/siesta/unfolding

« back to all changes in this revision

Viewing changes to Docs/Changelog-from-trunk-462.txt

  • Committer: Alberto Garcia
  • Date: 2016-06-23 10:02:59 UTC
  • mto: (483.11.3 4.0-xc) (560.3.1 4.1-ag)
  • mto: This revision was merged to the branch mainline in revision 525.
  • Revision ID: albertog@icmab.es-20160623100259-mewju7fsd2toyp1r
Tags: 4.0-release, v4.0
Release of siesta-4.0

* Update Docs/release_notes.4.0

* Update list of contributors.

* Add some more documentation and comments, and clarify notes in
  output for the recet electric-field/slab-dipole-correction fix.

* Remove Util/pseudo-xml

* Other minor changes in README files


  
                

        

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
Changes with respect to the development snapshot 'siesta-trunk-462':
2
 
 
3
 
Summary
4
 
 
5
 
* Changes in the analysis of the electronic structure
6
 
* Merge code for interoperation with Wannier90
7
 
* Merge code for 'server' operation via sockets and i-PI interface
8
 
* Replacement of license-encumbered routines by new ones
9
 
* Fix shortcomings in reading of empirical potential block
10
 
* Added restart file for smooth continuation of annealing runs
11
 
* Updated gnubands and grid2cube programs.
12
 
 
13
 
-------------------------
14
 
 
15
 
*** Changes in the geometry used for the analysis of the electronic
16
 
structure, as well as in the handling of the density matrix (DM) and
17
 
hamiltonian (H).
18
 
 
19
 
-*-*-*-*-* 
20
 
NOTE: This patch will _slightly_ change the output
21
 
of most calculations and the detailed results of any
22
 
post-processing. Keep this in mind if you need to maintain coherency
23
 
within a project. See the rest of the text for ways to restore
24
 
backward compatibility.
25
 
-*-*-*-*-*
26
 
  
27
 
This is the initial patch in a long-overdue clarification work related
28
 
to the "outer geometry loop" in Siesta and its interaction with the
29
 
analysis of the electronic structure.
30
 
 
31
 
The most important changes, following the actual refactoring logic, are:
32
 
 
33
 
* Superfluous calls to 'superx' to propagate the new coordinates to
34
 
  the auxiliary supercell in 'siesta_move' have been removed, as they
35
 
  are already issued by 'state_init'.
36
 
 
37
 
* The above change has the side effect of leaving inconsistent sets of
38
 
  unit cell and supercell coordinates in 'siesta_analysis' if the unit
39
 
  cell coordinates used in the latter are those 'moved' by the
40
 
  geometry-update routines. To avoid this, and to do the analysis
41
 
  using the actual coordinates used in the computation of the
42
 
  electronic structure, the coordinates are reset to those values
43
 
  (using the *_last arrays) in 'siesta_analysis'.  The old behavior
44
 
  can be recovered by using by setting the backward compatibility
45
 
  switch 'compat-pre-v4-dynamics' to 'true'.
46
 
 
47
 
* To guarantee that the DM and H used in the analysis correspond to
48
 
  the latest electronic structure computed, there should be no mixing
49
 
  at the end of the scf loop. This behavior, which was optional until
50
 
  now (controlled by the value of scf-mix-after-convergence) is now
51
 
  the default. The use of DM_out instead of DM_mixed provides also a
52
 
  truly variational total-energy and more consistent forces. If the
53
 
  scf cycle is carried out mixing H, H(DM_in) is recovered by
54
 
  re-setting H to Hold in siesta_forces at the end of the cycle.
55
 
 
56
 
  Also, to preserve the original H for analysis it is necessary to
57
 
  avoid overwriting it in post_scf_work. This is now done by default,
58
 
  except if the option 'scf-recompute-h-after-scf' is 'true'.
59
 
 
60
 
  There is another switch for pre-v4.0 compatibility in this context:
61
 
  If 'compat-pre-v4-dm-h' is 'true', the 'scf-mix-after-convergence'
62
 
  and 'scf-recompute-h-after-scf' options are activated too.
63
 
 
64
 
  Some comments have been added to siesta_forces to document possible
65
 
  further clarifications.
66
 
 
67
 
* For clarity, each MD or geometry-optimization flavor has now its own
68
 
  self-contained logic block in 'siesta_move'. This has uncovered a
69
 
  few issues that have been corrected:
70
 
 
71
 
  - The quenched forms of the Verlet and Parrinello-Rahman (PR)
72
 
    schemes, which are actually relaxations, did not check for
73
 
    convergence before moving the atoms (PR did not check at any
74
 
    point).  Now the 'constrained' forces and stress are checked
75
 
    before invoking the routines. In the case of PR, a 'target stress'
76
 
    can optionally be subtracted from the constrained stress (a
77
 
    further form of constraint that was previously only available
78
 
    (internally) in the standard relaxation routines). A future update
79
 
    might put all these constraint conditions in 'fixed', but care
80
 
    should be taken to study their interaction with the MD
81
 
    variable-cell routines. A future revision might look into the
82
 
    effectiveness of the variable-cell routines.
83
 
    There is a new example in Tests for quenched MD relaxation.
84
 
 
85
 
  - The geometry output in 'siesta_move' is now exclusively done for
86
 
    checkpointing purposes, and typically involves the 'moved'
87
 
    geometries.  The current geometry output is done in 'state_init',
88
 
    and any final output in 'siesta_analysis'.
89
 
 
90
 
  - Some output calls have been removed where they did not make much
91
 
    sense (as in the FC or server blocks).
92
 
 
93
 
  - The deprecated 'phonon' support has been removed.
94
 
 
95
 
* Siesta_analysis outputs the 'current' final geometry, and not the
96
 
  'moved' one. The old behavior can be recovered by using the
97
 
  'compat-pre-v4-dynamics' switch.
98
 
 
99
 
* The default 'dynamics' option has been changed from 'verlet' to 'CG'.
100
 
  There should really be a new 'single-point' default which completely
101
 
  avoids 'siesta_move'. The old behavior can be recovered by using the
102
 
  'compat-pre-v4-dynamics' switch.
103
 
 
104
 
* Single-point calculations do not write .STRUCT_NEXT_ITER files, and
105
 
  the coordinates in the XV file are the current ones, unmoved.
106
 
  Extra output in siesta_options is avoided for this case.
107
 
 
108
 
* The headings for the beginning of the dynamics blocks are now
109
 
  more concrete.
110
 
 
111
 
*** Merge code for interoperation with Wannier90
112
 
 
113
 
(Javier Junquera, after work by Richard Korytar, and Alberto Garcia)
114
 
 
115
 
Siesta can now read the .nnkp file produced by Wannier90 and output
116
 
the *.amn, *.mmn, *.eig (see below), and UNK* files needed by
117
 
post-processing with that program, which generates maximally-localized
118
 
Wannier functions.
119
 
 
120
 
The most relevant changes in the code needed to support this
121
 
functionality are detailed below. For practical guidance, see the
122
 
manual, the simple test in Tests/wannier, and the suite of Wannier90
123
 
examples adapted for Siesta in
124
 
 
125
 
   http://personales.unican.es/junqueraj/Wannier-examples.tar.gz
126
 
 
127
 
 
128
 
* To implement support for "projection functions", which might not be
129
 
  pure radial functions, but hybrids with mixed angular momentum and
130
 
  varying spatial orientation, as well as to provide support of
131
 
  arbitrary kinds of radial functions for future developments, the
132
 
  'matel' framework has been extended:
133
 
 
134
 
  Matel (actually renamed to 'new_matel') now accepts two generalized
135
 
  indexes instead of the two pairs of indexes previously used. The
136
 
  generalized indexes can represent either a normal "radial function",
137
 
  as in previous Siesta usage, or a "projection function". The indexes
138
 
  are obtained via a "check-in" into a registry of functions, which
139
 
  keeps track of the nature of the functions and provides the needed
140
 
  evaluators and accessors for 'new_matel'.
141
 
 
142
 
  The relevant code is in 'matel_registry', 'new_matel', and
143
 
  'register_rfs'. The latter shows how to "register" the usual radial
144
 
  functions for PAOs, KB projectors, etc. 
145
 
 
146
 
* Bloch states are computed and saved, instead of being recomputed as
147
 
  needed, to avoid problems with irreproducible random phases and
148
 
  linear combinations within degenerate subspaces.
149
 
 
150
 
* At this point the parallelization of the new code is only "over
151
 
  orbitals". It is not yet possible to parallelize the operations over
152
 
  the k-points on the grid. The production of the UNK* files can be
153
 
  slow if there are many k-points and bands.
154
 
 
155
 
* There is not yet support for "spinor wavefunctions". In the case of
156
 
  spin-polarized calculations, separate spin-up and spin-down
157
 
  processings are needed.
158
 
 
159
 
* There is not yet support for interaction with Wannier90 in "library
160
 
  mode", due to licensing issues.
161
 
 
162
 
* The "eigenvalue file" for Wannier90 has extension .eigW to avoid
163
 
  clashes with the standard Siesta eigenvalue file in case-insensitive
164
 
  filesystems.
165
 
 
166
 
*** Merge code for 'server' operation via sockets and i-PI interface
167
 
 
168
 
(Michele Ceriotti, Jose Soler)
169
 
 
170
 
* A new infrastructure for socket handling in f90 has been
171
 
implemented by Michele Ceriotti (EPFL), who is also the author
172
 
of the i-PI framework. From its web-page:
173
 
 
174
 
  i-PI is a Path Integral Molecular Dynamics (PIMD) wrapper code
175
 
  designed to be used together with ab initio evaluation of the
176
 
  interactions between the atoms. i-PI should be run as a separate
177
 
  program, and communicates with one or more instances of an
178
 
  electronic structure code using internet (or UNIX) sockets. The
179
 
  communication is regulated by a simple protocol, and requires
180
 
  patching the client code to handle the exchange of data with i-PI.
181
 
 
182
 
This revision implements the interface to the i-PI protocol. In
183
 
Siesta, the new socket functionality can also be used as a new form of
184
 
'server' operation.
185
 
 
186
 
See Util/Sockets for examples of the f90 socket interface,
187
 
Util/SiestaSubroutine for examples of the server operation (including
188
 
via sockets) and Tests/i-pi-test for a simple test of interoperability
189
 
with i-PI.
190
 
 
191
 
*** Replacement of license-encumbered routines by new ones
192
 
 
193
 
*** Fix shortcomings in reading of empirical potential block
194
 
  
195
 
  * The number of potential lines is now arbitrary.
196
 
  * Units handling has been improved, to allow arbitrary
197
 
    length and energy units.
198
 
 
199
 
  (Nick R. Papior)
200
 
  
201
 
*** Added restart file for smooth continuation of annealing runs
202
 
 
203
 
* Added the writing and reading of an .ANNEAL_RESTART file, along the
204
 
  same lines of the .VERLET_RESTART file. This fixes a small problem
205
 
  for restarting annealing calculations when a continuous smooth run
206
 
  is desired.
207
 
 
208
 
  (Fabiano Corsetti)
209
 
  
210
 
*** Updated gnubands (new.gnubands) and grid2cube (g2c_ng) programs
211
 
    in the Util section.
212
 
 
213
 
  (Nick R. Papior and Alberto Garcia)