Merge lp:~albertog/siesta/4.0-images-2 into lp:siesta/4.0
- 4.0-images-2
- Merge into rel-4.0
Status: | Merged |
---|---|
Merged at revision: | 576 |
Proposed branch: | lp:~albertog/siesta/4.0-images-2 |
Merge into: | lp:siesta/4.0 |
Diff against target: |
686 lines (+179/-135) (has conflicts) 19 files modified
Docs/siesta.tex (+36/-9) Src/Makefile (+1/-2) Src/hsparse.F (+53/-77) Src/new_dm.F (+20/-1) Src/state_init.F (+50/-8) Tests/born/born.fdf (+0/-3) Tests/born_spin/born_spin.fdf (+0/-4) Tests/force_2/force_2.fdf (+0/-4) Tests/force_constants/force_constants.fdf (+0/-4) Tests/graphite_c6/graphite_c6.fdf (+0/-2) Tests/md_anneal/md_anneal.fdf (+2/-3) Tests/md_nose/md_nose.fdf (+2/-3) Tests/md_npr/md_npr.fdf (+2/-3) Tests/md_pr/md_pr.fdf (+2/-3) Tests/md_verlet/md_verlet.fdf (+2/-3) Tests/sih_fire/sih_fire.fdf (+0/-2) Tests/var_cell/var_cell.fdf (+2/-3) Tests/zmatrix/zmatrix.fdf (+0/-1) version.info (+7/-0) Text conflict in version.info |
To merge this branch: | bzr merge lp:~albertog/siesta/4.0-images-2 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Nick Papior | Approve | ||
Review via email: mp+345362@code.launchpad.net |
This proposal supersedes a proposal from 2018-05-08.
Commit message
(See individual commit messages)
Description of the change
Two initial independent changes:
1. The fix for the "severe folding" leading to wrong norm of the DM initialized by atomic data.
2. A saner hsparse.
Plus:
* Detection of the "severe folding" (called "diagonal_folding") in hsparse (by checking for sameness of io and jo). Harris runs with severe folding is not permitted.
* Removal of Harris option in tests.
* Update to the manual (pending removal of two obsolete auxiliary-cell options)
Alberto Garcia (albertog) wrote : Posted in a previous version of this proposal | # |
Nick Papior (nickpapior) wrote : Posted in a previous version of this proposal | # |
Could we force the auxiliary cell for Harris functional?
1) I think very few people are using it,
2) The overhead is negligeble in this case.
Nick Papior (nickpapior) : Posted in a previous version of this proposal | # |
Nick Papior (nickpapior) wrote : Posted in a previous version of this proposal | # |
There are 2 directions to your listh_fold.
1) The indxuo is *ALWAYS* a linear array ((io,io=
2) Since the above is valid the UCORB function in geom_helper.f90 is equivalent to the INDXUO array.
Maybe I don't get the listh_fold? Would you create a 3rd array?
Alberto Garcia (albertog) wrote : Posted in a previous version of this proposal | # |
We are going to re-think the diagk0 issue.
I will re-submit with a different branch.
Alberto Garcia (albertog) wrote : | # |
I have not updated the Reference outputs.
Nick Papior (nickpapior) : | # |
Preview Diff
1 | === modified file 'Docs/siesta.tex' | |||
2 | --- Docs/siesta.tex 2018-04-24 08:40:31 +0000 | |||
3 | +++ Docs/siesta.tex 2018-05-10 13:49:56 +0000 | |||
4 | @@ -3044,6 +3044,7 @@ | |||
5 | 3044 | MaxSCFIterations, SCFMustConverge and DM.MixSCF1 are automatically set | 3044 | MaxSCFIterations, SCFMustConverge and DM.MixSCF1 are automatically set |
6 | 3045 | up to False, 1, False and False respectively, no matter whatever other | 3045 | up to False, 1, False and False respectively, no matter whatever other |
7 | 3046 | specification are in the INPUT file. | 3046 | specification are in the INPUT file. |
8 | 3047 | |||
9 | 3047 | \end{itemize} | 3048 | \end{itemize} |
10 | 3048 | 3049 | ||
11 | 3049 | {\it Default value:} {\tt .false.} | 3050 | {\it Default value:} {\tt .false.} |
12 | @@ -4184,20 +4185,32 @@ | |||
13 | 4184 | the matrix elements involving orbitals in different unit cells. | 4185 | the matrix elements involving orbitals in different unit cells. |
14 | 4185 | It is computed automatically by the program at every geometry step. | 4186 | It is computed automatically by the program at every geometry step. |
15 | 4186 | 4187 | ||
16 | 4188 | Note that for gamma-point-only calculations there is an implicit | ||
17 | 4189 | ``folding'' of matrix elements corresponding to the images of orbitals | ||
18 | 4190 | outside the unit cell. If information about the specific values of | ||
19 | 4191 | these matrix elements is needed (as for COOP/COHP analysis), one has | ||
20 | 4192 | to make sure that the unit cell is large enough, or force the use | ||
21 | 4193 | of an aunxiliary supercell. | ||
22 | 4194 | \index{COOP/COHP curves!Folding in Gamma-point calculations} | ||
23 | 4195 | |||
24 | 4187 | \begin{description} | 4196 | \begin{description} |
25 | 4188 | 4197 | ||
26 | 4189 | \item[{\bf FixAuxiliaryCell}] ({\it logical}): | 4198 | \item[{\bf FixAuxiliaryCell}] ({\it logical}): |
27 | 4190 | \index{FixAuxiliaryCell@{\bf FixAuxiliaryCell}} | 4199 | \index{FixAuxiliaryCell@{\bf FixAuxiliaryCell}} |
28 | 4191 | 4200 | ||
29 | 4192 | Logical variable to control whether the auxiliary cell is changed | 4201 | Logical variable to control whether the auxiliary cell is changed |
31 | 4193 | during a variable cell optimization. | 4202 | during a variable cell optimization. If this option is used, care |
32 | 4203 | should be taken that the supercell is appropriate for the whole | ||
33 | 4204 | duration of the run. | ||
34 | 4205 | |||
35 | 4206 | {\it Default value:} {\tt .false.} | ||
36 | 4194 | 4207 | ||
37 | 4195 | \item[{\bf NaiveAuxiliaryCell}] ({\it logical}): | 4208 | \item[{\bf NaiveAuxiliaryCell}] ({\it logical}): |
38 | 4196 | \index{NaiveAuxiliaryCell@{\bf NaiveAuxiliaryCell}} | 4209 | \index{NaiveAuxiliaryCell@{\bf NaiveAuxiliaryCell}} |
39 | 4197 | 4210 | ||
40 | 4198 | If true, the program does not check whether the auxiliary cell | 4211 | If true, the program does not check whether the auxiliary cell |
43 | 4199 | constructed with a naive algorithm is appropriate. This variable is | 4212 | constructed with a naive algorithm is appropriate. This variable should |
44 | 4200 | only useful if one wishes to reproduce calculations done with previous | 4213 | only be used if one wishes to reproduce calculations done with previous |
45 | 4201 | versions of the program in which the auxiliary cell was not large | 4214 | versions of the program in which the auxiliary cell was not large |
46 | 4202 | enough, as indicated by warnings such as: | 4215 | enough, as indicated by warnings such as: |
47 | 4203 | 4216 | ||
48 | @@ -4205,12 +4218,26 @@ | |||
49 | 4205 | 4218 | ||
50 | 4206 | Only small numerical differences in the results are to be expected. | 4219 | Only small numerical differences in the results are to be expected. |
51 | 4207 | 4220 | ||
58 | 4208 | Note that for gamma-point-only calculations there is an implicit | 4221 | {\it Default value:} {\tt .false.} |
59 | 4209 | ``folding'' of matrix elements corresponding to the images of orbitals | 4222 | |
60 | 4210 | outside the unit cell. If information about the specific values of | 4223 | \item[{\bf ForceAuxCell}] ({\it logical}): |
61 | 4211 | these matrix elements is needed (as for COOP/COHP analysis), one has | 4224 | \index{ForceAuxCell@{\bf ForceAuxCell}} |
62 | 4212 | to make sure that the unit cell is large enough. | 4225 | |
63 | 4213 | \index{COOP/COHP curves!Folding in Gamma-point calculations} | 4226 | If true, the program uses an auxiliary cell even for gamma-point-only |
64 | 4227 | calculations. This might be needed for COOP/COHP calculations, as | ||
65 | 4228 | noted above, \index{COOP/COHP curves!Folding in Gamma-point | ||
66 | 4229 | calculations} or in degenerate cases, such as when the cell is so | ||
67 | 4230 | small that a given orbital ``self-interacts'' with its own images (via | ||
68 | 4231 | direct overlap or through a KB projector). In this case, the diagonal | ||
69 | 4232 | value of the overlap matrix S for this orbital is different from 1, and an | ||
70 | 4233 | initialization of the DM via atomic data would be faulty. The | ||
71 | 4234 | program corrects the problem to zeroth-order by dividing the DM value | ||
72 | 4235 | by the corresponding overlap matrix entry, but the initial charge | ||
73 | 4236 | density would exhibit distortions from a true atomic superposition | ||
74 | 4237 | (See routine \texttt{new\_dm.F}). The distortion of the charge density | ||
75 | 4238 | is a serious problem for Harris functional calculations, so this | ||
76 | 4239 | option must be enabled for them if self-folding is present. (Note that | ||
77 | 4240 | this should not happen in any serious calculation...) | ||
78 | 4214 | 4241 | ||
79 | 4215 | {\it Default value:} {\tt .false.} | 4242 | {\it Default value:} {\tt .false.} |
80 | 4216 | 4243 | ||
81 | 4217 | 4244 | ||
82 | === modified file 'Src/Makefile' | |||
83 | --- Src/Makefile 2018-04-11 11:00:02 +0000 | |||
84 | +++ Src/Makefile 2018-05-10 13:49:56 +0000 | |||
85 | @@ -528,8 +528,7 @@ | |||
86 | 528 | grdsam.o: alloc.o dhscf.o files.o m_mpi_utils.o m_partial_charges.o parallel.o | 528 | grdsam.o: alloc.o dhscf.o files.o m_mpi_utils.o m_partial_charges.o parallel.o |
87 | 529 | grdsam.o: precision.o siesta_geom.o siesta_options.o sys.o units.o | 529 | grdsam.o: precision.o siesta_geom.o siesta_options.o sys.o units.o |
88 | 530 | hsparse.o: alloc.o atm_types.o atmfuncs.o atomlist.o listsc.o mneighb.o | 530 | hsparse.o: alloc.o atm_types.o atmfuncs.o atomlist.o listsc.o mneighb.o |
91 | 531 | hsparse.o: parallel.o parallelsubs.o precision.o siesta_options.o sorting.o | 531 | hsparse.o: parallel.o parallelsubs.o precision.o sorting.o sparse_matrices.o |
90 | 532 | hsparse.o: sparse_matrices.o sys.o | ||
92 | 533 | idiag.o: parallel.o sys.o | 532 | idiag.o: parallel.o sys.o |
93 | 534 | initatom.o: atmparams.o atom.o atom_options.o basis_io.o basis_specs.o | 533 | initatom.o: atmparams.o atom.o atom_options.o basis_io.o basis_specs.o |
94 | 535 | initatom.o: basis_types.o electrostatic.o old_atmfuncs.o precision.o | 534 | initatom.o: basis_types.o electrostatic.o old_atmfuncs.o precision.o |
95 | 536 | 535 | ||
96 | === modified file 'Src/hsparse.F' | |||
97 | --- Src/hsparse.F 2016-01-25 16:00:16 +0000 | |||
98 | +++ Src/hsparse.F 2018-05-10 13:49:56 +0000 | |||
99 | @@ -48,7 +48,8 @@ | |||
100 | 48 | subroutine hsparse( negl, cell, nsc, na, isa, xa, | 48 | subroutine hsparse( negl, cell, nsc, na, isa, xa, |
101 | 49 | & lasto, lastkb, iphorb, iphkb, | 49 | & lasto, lastkb, iphorb, iphkb, |
102 | 50 | & nlhmax, gamma, | 50 | & nlhmax, gamma, |
104 | 51 | $ set_xijo, folding) | 51 | $ set_xijo, folding, |
105 | 52 | $ diagonal_folding, debug_folding) | ||
106 | 52 | 53 | ||
107 | 53 | use precision | 54 | use precision |
108 | 54 | use parallel, only : Node, Nodes | 55 | use parallel, only : Node, Nodes |
109 | @@ -59,9 +60,8 @@ | |||
110 | 59 | use sorting | 60 | use sorting |
111 | 60 | use neighbour, only : jna=>jan, xij, r2ij, maxna=>maxnna | 61 | use neighbour, only : jna=>jan, xij, r2ij, maxna=>maxnna |
112 | 61 | use neighbour, only : mneighb, reset_neighbour_arrays | 62 | use neighbour, only : mneighb, reset_neighbour_arrays |
113 | 62 | use sys, only : die | ||
114 | 63 | use alloc, only : re_alloc, de_alloc | 63 | use alloc, only : re_alloc, de_alloc |
116 | 64 | use atomlist, only : no_l | 64 | use atomlist, only : no_l, indxuo |
117 | 65 | use sparse_matrices, only : listhptr, numh, listh, xijo | 65 | use sparse_matrices, only : listhptr, numh, listh, xijo |
118 | 66 | implicit none | 66 | implicit none |
119 | 67 | 67 | ||
120 | @@ -76,6 +76,8 @@ | |||
121 | 76 | logical, intent(in) :: gamma | 76 | logical, intent(in) :: gamma |
122 | 77 | logical, intent(in) :: set_xijo | 77 | logical, intent(in) :: set_xijo |
123 | 78 | logical, intent(out) :: folding | 78 | logical, intent(out) :: folding |
124 | 79 | logical, intent(out) :: diagonal_folding | ||
125 | 80 | logical, intent(in), optional :: debug_folding | ||
126 | 79 | 81 | ||
127 | 80 | external timer | 82 | external timer |
128 | 81 | 83 | ||
129 | @@ -99,8 +101,6 @@ | |||
130 | 99 | & rci, rcj, rck, rij, rik, rjk, | 101 | & rci, rcj, rck, rij, rik, rjk, |
131 | 100 | & rmax, rmaxkb, rmaxo | 102 | & rmax, rmaxkb, rmaxo |
132 | 101 | 103 | ||
133 | 102 | logical, save :: warn1 = .false. | ||
134 | 103 | |||
135 | 104 | real(dp), dimension(:), pointer :: rckb | 104 | real(dp), dimension(:), pointer :: rckb |
136 | 105 | logical, dimension(:), pointer :: conect | 105 | logical, dimension(:), pointer :: conect |
137 | 106 | integer, dimension(:), pointer :: index | 106 | integer, dimension(:), pointer :: index |
138 | @@ -108,14 +108,18 @@ | |||
139 | 108 | integer, dimension(:), pointer :: listhtmp | 108 | integer, dimension(:), pointer :: listhtmp |
140 | 109 | 109 | ||
141 | 110 | logical :: connected | 110 | logical :: connected |
143 | 111 | 111 | logical :: debug | |
144 | 112 | integer :: nprints ! for debugging | ||
145 | 112 | C ------------------------------------- | 113 | C ------------------------------------- |
149 | 113 | #ifdef DEBUG | 114 | |
147 | 114 | call write_debug( ' PRE hsparse' ) | ||
148 | 115 | #endif | ||
150 | 116 | C Start time counter | 115 | C Start time counter |
151 | 117 | call timer( 'hsparse', 1 ) | 116 | call timer( 'hsparse', 1 ) |
152 | 118 | 117 | ||
153 | 118 | debug = .false. | ||
154 | 119 | if (present(debug_folding)) then | ||
155 | 120 | debug = debug_folding | ||
156 | 121 | endif | ||
157 | 122 | |||
158 | 119 | C Check size of internal arrays | 123 | C Check size of internal arrays |
159 | 120 | ncells = nsc(1) * nsc(2) * nsc(3) | 124 | ncells = nsc(1) * nsc(2) * nsc(3) |
160 | 121 | nua = na / ncells | 125 | nua = na / ncells |
161 | @@ -192,6 +196,7 @@ | |||
162 | 192 | enddo | 196 | enddo |
163 | 193 | 197 | ||
164 | 194 | folding = .false. | 198 | folding = .false. |
165 | 199 | diagonal_folding = .false. | ||
166 | 195 | 200 | ||
167 | 196 | C------------------------------------C | 201 | C------------------------------------C |
168 | 197 | C Find number of non-zeros in H C | 202 | C Find number of non-zeros in H C |
169 | @@ -324,6 +329,7 @@ | |||
170 | 324 | C------------------------------------C | 329 | C------------------------------------C |
171 | 325 | C Find full H sparsity pattern C | 330 | C Find full H sparsity pattern C |
172 | 326 | C------------------------------------C | 331 | C------------------------------------C |
173 | 332 | nprints = 0 | ||
174 | 327 | C Loop on atoms in unit cell | 333 | C Loop on atoms in unit cell |
175 | 328 | do ia = 1,nua | 334 | do ia = 1,nua |
176 | 329 | C Find neighbour atoms within maximum range | 335 | C Find neighbour atoms within maximum range |
177 | @@ -396,62 +402,53 @@ | |||
178 | 396 | endif | 402 | endif |
179 | 397 | 403 | ||
180 | 398 | if (connected) then | 404 | if (connected) then |
193 | 399 | if (conect(jo)) then | 405 | if (conect(jo)) then |
194 | 400 | folding = .true. | 406 | folding = .true. |
195 | 401 | 407 | if (io == indxuo(jo)) then | |
196 | 402 | ! This test is now deferred to be able | 408 | diagonal_folding = .true. |
197 | 403 | ! to catch multiple images while avoiding | 409 | endif |
198 | 404 | ! false positives (i.e., we test first | 410 | |
199 | 405 | ! whether there is indeed a connection). | 411 | ! If already connected and using supercell, the |
200 | 406 | 412 | ! latter might not be big enough... We defer | |
201 | 407 | if (.true.) then | 413 | ! the decision on whether to kill the program |
202 | 408 | ! If already connected and using supercell, | 414 | ! to the caller. Here keep the first instance |
191 | 409 | ! the latter might not be big enough... | ||
192 | 410 | ! We warn the user and keep the first instance | ||
203 | 411 | ! of xij (same behavior as the old xijorb, as | 415 | ! of xij (same behavior as the old xijorb, as |
204 | 412 | ! earlier jnats are closer) | 416 | ! earlier jnats are closer) |
214 | 413 | ! Warn also if Gamma-point calculation, just | 417 | if (debug) then |
215 | 414 | ! in case | 418 | ! This might not be pretty in |
216 | 415 | if (.not.warn1) then | 419 | ! parallel. Better to build a list of a few |
217 | 416 | if (Node.eq.0) then | 420 | ! cases, and pass it to the caller. |
218 | 417 | if (gamma) then | 421 | if (nprints <= 20) then |
219 | 418 | call check_cohp(io,jo) | 422 | print "(a,2i6,a)", |
220 | 419 | else | 423 | . 'WARNING: orbital pair ',io,indxuo(jo), |
212 | 420 | write(6,'(/,a,2i6,a,/,a)') | ||
213 | 421 | . 'WARNING: orbital pair ',io,jo, | ||
221 | 422 | . ' is multiply connected' | 424 | . ' is multiply connected' |
223 | 423 | endif | 425 | nprints = nprints + 1 |
224 | 424 | endif | 426 | endif |
237 | 425 | warn1 = .true. | 427 | endif |
238 | 426 | endif | 428 | |
239 | 427 | endif | 429 | else |
240 | 428 | 430 | ||
241 | 429 | else | 431 | conect(jo) = .true. |
242 | 430 | 432 | numh(iio) = numh(iio) + 1 | |
243 | 431 | conect(jo) = .true. | 433 | ind = listhptr(iio)+numh(iio) |
244 | 432 | numh(iio) = numh(iio) + 1 | 434 | listh(ind) = jo |
245 | 433 | ind = listhptr(iio)+numh(iio) | 435 | if (set_xijo) then |
246 | 434 | listh(ind) = jo | 436 | xijo(1:3,ind) = xij(1:3,jnat) |
247 | 435 | if (set_xijo) then | 437 | endif |
236 | 436 | xijo(1:3,ind) = xij(1:3,jnat) | ||
248 | 437 | endif | 438 | endif |
249 | 438 | endif | 439 | endif |
251 | 439 | endif | 440 | enddo |
252 | 440 | enddo | 441 | enddo |
253 | 441 | enddo | ||
254 | 442 | 442 | ||
255 | 443 | C Restore conect array for next orbital io | 443 | C Restore conect array for next orbital io |
263 | 444 | do j = 1,numh(iio) | 444 | do j = 1,numh(iio) |
264 | 445 | jo = listh(listhptr(iio)+j) | 445 | jo = listh(listhptr(iio)+j) |
265 | 446 | conect(jo) = .false. | 446 | conect(jo) = .false. |
266 | 447 | enddo | 447 | enddo |
267 | 448 | endif ! iio > 0 | 448 | endif ! iio > 0 |
268 | 449 | enddo ! io | 449 | enddo ! io |
269 | 450 | enddo ! ia | 450 | enddo ! ia |
270 | 451 | 451 | ||
271 | 452 | !! print "(a5,i3,a40,3i8)", | ||
272 | 453 | !! $ "Node: ", Node, "in hsparse nuo, nuotot, nlhmax: ", | ||
273 | 454 | !! $ nuo, nuotot, nlhmax | ||
274 | 455 | 452 | ||
275 | 456 | C Initialize listsc | 453 | C Initialize listsc |
276 | 457 | call LISTSC_INIT( nsc, nuotot ) | 454 | call LISTSC_INIT( nsc, nuotot ) |
277 | @@ -466,28 +463,7 @@ | |||
278 | 466 | call de_alloc( rckb, 'rckb', 'hsparse' ) | 463 | call de_alloc( rckb, 'rckb', 'hsparse' ) |
279 | 467 | 464 | ||
280 | 468 | call timer( 'hsparse', 2 ) | 465 | call timer( 'hsparse', 2 ) |
284 | 469 | #ifdef DEBUG | 466 | |
282 | 470 | call write_debug( ' POS hsparse' ) | ||
283 | 471 | #endif | ||
285 | 472 | end subroutine hsparse | 467 | end subroutine hsparse |
286 | 473 | |||
287 | 474 | subroutine check_cohp(io,jo) | ||
288 | 475 | use siesta_options, only: write_coop | ||
289 | 476 | |||
290 | 477 | integer, intent(in) :: io, jo | ||
291 | 478 | |||
292 | 479 | if (write_coop) then | ||
293 | 480 | write(6,'(/,a,2i6,a,/,a)') | ||
294 | 481 | . 'NOTE: orbital pair ',io,jo, | ||
295 | 482 | . ' (at least) is multiply connected.', | ||
296 | 483 | . 'NOTE: Your COOP/COHP analysis might ' // | ||
297 | 484 | $ 'be affected by folding.' | ||
298 | 485 | write(0,'(/,a,2i6,a,/,a)') | ||
299 | 486 | . 'NOTE: orbital pair ',io,jo, | ||
300 | 487 | . ' (at least) is multiply connected.', | ||
301 | 488 | . 'NOTE: Your COOP/COHP analysis might ' // | ||
302 | 489 | $ 'be affected by folding.' | ||
303 | 490 | endif | ||
304 | 491 | end subroutine check_cohp | ||
305 | 492 | 468 | ||
306 | 493 | end module m_hsparse | 469 | end module m_hsparse |
307 | 494 | 470 | ||
308 | === modified file 'Src/new_dm.F' | |||
309 | --- Src/new_dm.F 2018-04-06 12:32:04 +0000 | |||
310 | +++ Src/new_dm.F 2018-05-10 13:49:56 +0000 | |||
311 | @@ -485,6 +485,7 @@ | |||
312 | 485 | use mpi_siesta | 485 | use mpi_siesta |
313 | 486 | #endif | 486 | #endif |
314 | 487 | use units, only : pi | 487 | use units, only : pi |
315 | 488 | use sparse_matrices, only: S | ||
316 | 488 | 489 | ||
317 | 489 | implicit none | 490 | implicit none |
318 | 490 | 491 | ||
319 | @@ -655,7 +656,7 @@ | |||
320 | 655 | endif | 656 | endif |
321 | 656 | 657 | ||
322 | 657 | 658 | ||
324 | 658 | else | 659 | else ! Initialize with neutral atoms |
325 | 659 | 660 | ||
326 | 660 | C See whether specific initial spins are given in a DM.InitSpin block | 661 | C See whether specific initial spins are given in a DM.InitSpin block |
327 | 661 | C and read them in a loop on atoms where lines are read and parsed | 662 | C and read them in a loop on atoms where lines are read and parsed |
328 | @@ -903,6 +904,24 @@ | |||
329 | 903 | 904 | ||
330 | 904 | endif | 905 | endif |
331 | 905 | 906 | ||
332 | 907 | ! We have initialized with atomic information. Correct in case we | ||
333 | 908 | ! are using such a small cell that there are direct interactions | ||
334 | 909 | ! of orbitals with their own images, and we insist on using the | ||
335 | 910 | ! Gamma-point only. Otherwise S(diagonal) is always 1.0 and the | ||
336 | 911 | ! simple atomic-orbital superposition works as intended. | ||
337 | 912 | |||
338 | 913 | |||
339 | 914 | do io = 1, no_l | ||
340 | 915 | call LocalToGlobalOrb(io,Node,Nodes,iio) | ||
341 | 916 | do in = 1,numh(io) | ||
342 | 917 | ind = listhptr(io)+in | ||
343 | 918 | jo = listh(ind) | ||
344 | 919 | if (iio .eq. jo) then ! diagonal element | ||
345 | 920 | Dscf(ind,:) = Dscf(ind,:) / S(ind) | ||
346 | 921 | endif | ||
347 | 922 | enddo | ||
348 | 923 | enddo | ||
349 | 924 | |||
350 | 906 | endif | 925 | endif |
351 | 907 | 926 | ||
352 | 908 | end subroutine initdm | 927 | end subroutine initdm |
353 | 909 | 928 | ||
354 | === modified file 'Src/state_init.F' | |||
355 | --- Src/state_init.F 2018-04-11 09:23:27 +0000 | |||
356 | +++ Src/state_init.F 2018-05-10 13:49:56 +0000 | |||
357 | @@ -48,7 +48,8 @@ | |||
358 | 48 | use m_mpi_utils, only: globalize_or | 48 | use m_mpi_utils, only: globalize_or |
359 | 49 | use m_mpi_utils, only: globalize_sum | 49 | use m_mpi_utils, only: globalize_sum |
360 | 50 | use domain_decom, only: domainDecom, use_dd, use_dd_perm | 50 | use domain_decom, only: domainDecom, use_dd, use_dd_perm |
362 | 51 | 51 | use fdf, only: fdf_get | |
363 | 52 | use sys, only: message, die | ||
364 | 52 | #ifdef TRANSIESTA | 53 | #ifdef TRANSIESTA |
365 | 53 | use m_ts_options, only : onlyS | 54 | use m_ts_options, only : onlyS |
366 | 54 | use sys, only : bye | 55 | use sys, only : bye |
367 | @@ -69,6 +70,7 @@ | |||
368 | 69 | integer :: i, ix, iadispl, ixdispl | 70 | integer :: i, ix, iadispl, ixdispl |
369 | 70 | logical :: auxchanged ! Auxiliary supercell changed? | 71 | logical :: auxchanged ! Auxiliary supercell changed? |
370 | 71 | logical :: folding, folding1 | 72 | logical :: folding, folding1 |
371 | 73 | logical :: diag_folding, diag_folding1 | ||
372 | 72 | logical :: foundxv ! dummy for call to ioxv | 74 | logical :: foundxv ! dummy for call to ioxv |
373 | 73 | real(dp) :: dummy_qspin(8) | 75 | real(dp) :: dummy_qspin(8) |
374 | 74 | external :: madelung, timer | 76 | external :: madelung, timer |
375 | @@ -255,7 +257,38 @@ | |||
376 | 255 | ! analyses. | 257 | ! analyses. |
377 | 256 | call hsparse( negl, scell, nsc, na_s, isa, xa, lasto, | 258 | call hsparse( negl, scell, nsc, na_s, isa, xa, lasto, |
378 | 257 | & lastkb, iphorb, iphKB, maxnh, gamma, | 259 | & lastkb, iphorb, iphKB, maxnh, gamma, |
380 | 258 | $ set_xijo=.true., folding=folding1) | 260 | $ set_xijo=.true., folding=folding1, |
381 | 261 | $ diagonal_folding=diag_folding1, | ||
382 | 262 | $ debug_folding=fdf_get('debug-folding',.false.)) | ||
383 | 263 | ! | ||
384 | 264 | call globalize_or(diag_folding1,diag_folding) | ||
385 | 265 | call globalize_or(folding1,folding) | ||
386 | 266 | if (diag_folding .and. gamma) then | ||
387 | 267 | call message("WARNING","Gamma-point calculation " // | ||
388 | 268 | $ "with interaction between periodic images") | ||
389 | 269 | call message("WARNING", | ||
390 | 270 | $ "Some features might not work optimally:") | ||
391 | 271 | call message("WARNING", | ||
392 | 272 | $ "e.g. DM initialization from atomic data") | ||
393 | 273 | if (harrisfun) call die("Harris functional run needs " // | ||
394 | 274 | $ "'force-aux-cell T'") | ||
395 | 275 | |||
396 | 276 | else if (folding) then | ||
397 | 277 | if (gamma) then | ||
398 | 278 | call message("INFO","Gamma-point calculation " // | ||
399 | 279 | $ "with multiply-connected orbital pairs") | ||
400 | 280 | call message("INFO", | ||
401 | 281 | $ "Folding of H and S implicitly performed") | ||
402 | 282 | call check_cohp() | ||
403 | 283 | else | ||
404 | 284 | write(6,"(a,/,a)") "Non Gamma-point calculation " // | ||
405 | 285 | $ "with multiply-connected orbital pairs " // | ||
406 | 286 | $ "in auxiliary supercell.", | ||
407 | 287 | $ "Possible internal error. " // | ||
408 | 288 | $ "Use 'debug-folding T' to debug." | ||
409 | 289 | call die("Inadequate auxiliary supercell") | ||
410 | 290 | endif | ||
411 | 291 | endif | ||
412 | 259 | ! | 292 | ! |
413 | 260 | call globalize_sum(maxnh,nnz) | 293 | call globalize_sum(maxnh,nnz) |
414 | 261 | if (cml_p) then | 294 | if (cml_p) then |
415 | @@ -269,12 +302,6 @@ | |||
416 | 269 | call cmlEndPropertyList(mainXML) | 302 | call cmlEndPropertyList(mainXML) |
417 | 270 | endif | 303 | endif |
418 | 271 | ! | 304 | ! |
419 | 272 | call globalize_or(folding1,folding) | ||
420 | 273 | if (folding) then | ||
421 | 274 | if (IOnode) then | ||
422 | 275 | print *, "Folding of H and S is implicitly performed" | ||
423 | 276 | endif | ||
424 | 277 | endif | ||
425 | 278 | ! | 305 | ! |
426 | 279 | ! If using domain decomposition, redistribute orbitals | 306 | ! If using domain decomposition, redistribute orbitals |
427 | 280 | ! for this geometry, based on the hsparse info. | 307 | ! for this geometry, based on the hsparse info. |
428 | @@ -387,4 +414,19 @@ | |||
429 | 387 | 414 | ||
430 | 388 | !--------------------------------------------------------------------------- END | 415 | !--------------------------------------------------------------------------- END |
431 | 389 | END subroutine state_init | 416 | END subroutine state_init |
432 | 417 | |||
433 | 418 | subroutine check_cohp() | ||
434 | 419 | use siesta_options, only: write_coop | ||
435 | 420 | use sys, only: message | ||
436 | 421 | |||
437 | 422 | if (write_coop) then | ||
438 | 423 | call message("WARNING","There are multiply-connected "// | ||
439 | 424 | $ "orbitals.") | ||
440 | 425 | call message("WARNING","Your COOP/COHP analysis might " // | ||
441 | 426 | $ "be affected by folding.") | ||
442 | 427 | call message("WARNING",'Use "force-aux-cell T "' // | ||
443 | 428 | $ 'or k-point sampling') | ||
444 | 429 | endif | ||
445 | 430 | end subroutine check_cohp | ||
446 | 431 | |||
447 | 390 | END module m_state_init | 432 | END module m_state_init |
448 | 391 | 433 | ||
449 | === modified file 'Tests/born/born.fdf' | |||
450 | --- Tests/born/born.fdf 2007-06-05 09:59:21 +0000 | |||
451 | +++ Tests/born/born.fdf 2018-05-10 13:49:56 +0000 | |||
452 | @@ -25,8 +25,5 @@ | |||
453 | 25 | #DM.MixingWeight 0.3 | 25 | #DM.MixingWeight 0.3 |
454 | 26 | #DM.NumberPulay 3 | 26 | #DM.NumberPulay 3 |
455 | 27 | #DM.Tolerance 1.0d-5 | 27 | #DM.Tolerance 1.0d-5 |
456 | 28 | # Here we use Harris since we are just interested in testing the displacement | ||
457 | 29 | # logic | ||
458 | 30 | 28 | ||
459 | 31 | HarrisFunctional T | ||
460 | 32 | 29 | ||
461 | 33 | 30 | ||
462 | === modified file 'Tests/born_spin/born_spin.fdf' | |||
463 | --- Tests/born_spin/born_spin.fdf 2007-06-05 09:59:21 +0000 | |||
464 | +++ Tests/born_spin/born_spin.fdf 2018-05-10 13:49:56 +0000 | |||
465 | @@ -26,8 +26,4 @@ | |||
466 | 26 | #DM.MixingWeight 0.3 | 26 | #DM.MixingWeight 0.3 |
467 | 27 | #DM.NumberPulay 3 | 27 | #DM.NumberPulay 3 |
468 | 28 | #DM.Tolerance 1.0d-5 | 28 | #DM.Tolerance 1.0d-5 |
469 | 29 | # Here we use Harris since we are just interested in testing the displacement | ||
470 | 30 | # logic | ||
471 | 31 | |||
472 | 32 | HarrisFunctional T | ||
473 | 33 | 29 | ||
474 | 34 | 30 | ||
475 | === modified file 'Tests/force_2/force_2.fdf' | |||
476 | --- Tests/force_2/force_2.fdf 2007-11-21 11:45:49 +0000 | |||
477 | +++ Tests/force_2/force_2.fdf 2018-05-10 13:49:56 +0000 | |||
478 | @@ -15,10 +15,6 @@ | |||
479 | 15 | #DM.MixingWeight 0.3 | 15 | #DM.MixingWeight 0.3 |
480 | 16 | #DM.NumberPulay 3 | 16 | #DM.NumberPulay 3 |
481 | 17 | #DM.Tolerance 1.0d-5 | 17 | #DM.Tolerance 1.0d-5 |
482 | 18 | # Here we use Harris since we are just interested in testing the displacement | ||
483 | 19 | # logic | ||
484 | 20 | |||
485 | 21 | HarrisFunctional T | ||
486 | 22 | 18 | ||
487 | 23 | %include FC.fdf | 19 | %include FC.fdf |
488 | 24 | 20 | ||
489 | 25 | 21 | ||
490 | === modified file 'Tests/force_constants/force_constants.fdf' | |||
491 | --- Tests/force_constants/force_constants.fdf 2007-11-21 11:45:49 +0000 | |||
492 | +++ Tests/force_constants/force_constants.fdf 2018-05-10 13:49:56 +0000 | |||
493 | @@ -15,10 +15,6 @@ | |||
494 | 15 | #DM.MixingWeight 0.3 | 15 | #DM.MixingWeight 0.3 |
495 | 16 | #DM.NumberPulay 3 | 16 | #DM.NumberPulay 3 |
496 | 17 | #DM.Tolerance 1.0d-5 | 17 | #DM.Tolerance 1.0d-5 |
497 | 18 | # Here we use Harris since we are just interested in testing the displacement | ||
498 | 19 | # logic | ||
499 | 20 | |||
500 | 21 | HarrisFunctional T | ||
501 | 22 | 18 | ||
502 | 23 | %include FC.fdf | 19 | %include FC.fdf |
503 | 24 | 20 | ||
504 | 25 | 21 | ||
505 | === modified file 'Tests/graphite_c6/graphite_c6.fdf' | |||
506 | --- Tests/graphite_c6/graphite_c6.fdf 2018-04-25 07:34:20 +0000 | |||
507 | +++ Tests/graphite_c6/graphite_c6.fdf 2018-05-10 13:49:56 +0000 | |||
508 | @@ -31,5 +31,3 @@ | |||
509 | 31 | kgrid_cutoff 4.0 Ang | 31 | kgrid_cutoff 4.0 Ang |
510 | 32 | 32 | ||
511 | 33 | ElectronicTemperature 0 K | 33 | ElectronicTemperature 0 K |
512 | 34 | |||
513 | 35 | HarrisFunctional T | ||
514 | 36 | 34 | ||
515 | === modified file 'Tests/md_anneal/md_anneal.fdf' | |||
516 | --- Tests/md_anneal/md_anneal.fdf 2012-10-24 13:10:17 +0000 | |||
517 | +++ Tests/md_anneal/md_anneal.fdf 2018-05-10 13:49:56 +0000 | |||
518 | @@ -1,10 +1,10 @@ | |||
519 | 1 | # ----------------------------------------------------------------------------- | 1 | # ----------------------------------------------------------------------------- |
520 | 2 | # Primitive c-Si supercell, using STRUCT file | 2 | # Primitive c-Si supercell, using STRUCT file |
522 | 3 | # Annealing, HarrisFunctional | 3 | # Annealing |
523 | 4 | # Alberto Garcia, August-December 2005, January 2006 | 4 | # Alberto Garcia, August-December 2005, January 2006 |
524 | 5 | # ----------------------------------------------------------------------------- | 5 | # ----------------------------------------------------------------------------- |
525 | 6 | 6 | ||
527 | 7 | SystemName Primitive silicon, Annealing, Harris, Struct File | 7 | SystemName Primitive silicon, Annealing, Struct File |
528 | 8 | SystemLabel md_anneal | 8 | SystemLabel md_anneal |
529 | 9 | 9 | ||
530 | 10 | NumberOfAtoms 2 | 10 | NumberOfAtoms 2 |
531 | @@ -27,7 +27,6 @@ | |||
532 | 27 | 27 | ||
533 | 28 | SolutionMethod diagon | 28 | SolutionMethod diagon |
534 | 29 | ElectronicTemperature 100 K | 29 | ElectronicTemperature 100 K |
535 | 30 | HarrisFunctional T | ||
536 | 31 | WriteMDHistory T | 30 | WriteMDHistory T |
537 | 32 | 31 | ||
538 | 33 | MD.TypeOfRun anneal | 32 | MD.TypeOfRun anneal |
539 | 34 | 33 | ||
540 | === modified file 'Tests/md_nose/md_nose.fdf' | |||
541 | --- Tests/md_nose/md_nose.fdf 2006-02-02 14:00:17 +0000 | |||
542 | +++ Tests/md_nose/md_nose.fdf 2018-05-10 13:49:56 +0000 | |||
543 | @@ -1,7 +1,7 @@ | |||
544 | 1 | # | 1 | # |
546 | 2 | # MgCO3 in primitive cell. SZ Harris. Some MD steps in Nose MD | 2 | # MgCO3 in primitive cell. SZ. Some MD steps in Nose MD |
547 | 3 | # | 3 | # |
549 | 4 | SystemName MgCo3 MD Nose test -- SZ, 100 Ry Harris | 4 | SystemName MgCo3 MD Nose test -- SZ, 100 Ry |
550 | 5 | SystemLabel md_nose | 5 | SystemLabel md_nose |
551 | 6 | NumberOfSpecies 3 | 6 | NumberOfSpecies 3 |
552 | 7 | NumberOfAtoms 10 | 7 | NumberOfAtoms 10 |
553 | @@ -37,7 +37,6 @@ | |||
554 | 37 | 0.0274 -0.25 -0.5274 3 | 37 | 0.0274 -0.25 -0.5274 3 |
555 | 38 | %endblock AtomicCoordinatesAndAtomicSpecies | 38 | %endblock AtomicCoordinatesAndAtomicSpecies |
556 | 39 | 39 | ||
557 | 40 | HarrisFunctional T | ||
558 | 41 | Solution.Method diagon | 40 | Solution.Method diagon |
559 | 42 | MeshCutoff 100 Ry | 41 | MeshCutoff 100 Ry |
560 | 43 | 42 | ||
561 | 44 | 43 | ||
562 | === modified file 'Tests/md_npr/md_npr.fdf' | |||
563 | --- Tests/md_npr/md_npr.fdf 2006-01-27 17:09:47 +0000 | |||
564 | +++ Tests/md_npr/md_npr.fdf 2018-05-10 13:49:56 +0000 | |||
565 | @@ -1,7 +1,7 @@ | |||
566 | 1 | # | 1 | # |
568 | 2 | # MgCO3 in primitive cell. SZ. Nose-Parrinello-Rahman. Harris | 2 | # MgCO3 in primitive cell. SZ. Nose-Parrinello-Rahman. |
569 | 3 | # | 3 | # |
571 | 4 | SystemName MgCo3 R-3c Harris -- SZ, 50 R -- NPR at 10 Gpa, 500K | 4 | SystemName MgCo3 R-3c -- SZ, 50 R -- NPR at 10 Gpa, 500K |
572 | 5 | SystemLabel md_npr | 5 | SystemLabel md_npr |
573 | 6 | NumberOfSpecies 3 | 6 | NumberOfSpecies 3 |
574 | 7 | NumberOfAtoms 10 | 7 | NumberOfAtoms 10 |
575 | @@ -51,7 +51,6 @@ | |||
576 | 51 | 51 | ||
577 | 52 | WriteCoorStep .true. | 52 | WriteCoorStep .true. |
578 | 53 | WriteForces .true. | 53 | WriteForces .true. |
579 | 54 | HarrisFunctional T | ||
580 | 55 | 54 | ||
581 | 56 | WriteMDHistory .true. | 55 | WriteMDHistory .true. |
582 | 57 | MD.UseSaveXV T | 56 | MD.UseSaveXV T |
583 | 58 | 57 | ||
584 | === modified file 'Tests/md_pr/md_pr.fdf' | |||
585 | --- Tests/md_pr/md_pr.fdf 2006-01-27 17:09:47 +0000 | |||
586 | +++ Tests/md_pr/md_pr.fdf 2018-05-10 13:49:56 +0000 | |||
587 | @@ -1,7 +1,7 @@ | |||
588 | 1 | # | 1 | # |
590 | 2 | # MgCO3 in primitive cell. SZ. Parrinello-Rahman. Harris | 2 | # MgCO3 in primitive cell. SZ. Parrinello-Rahman |
591 | 3 | # | 3 | # |
593 | 4 | SystemName MgCo3 R-3c Harris -- SZ, 50 R -- PR at 10 Gpa | 4 | SystemName MgCo3 R-3c -- SZ, 50 R -- PR at 10 Gpa |
594 | 5 | SystemLabel md_pr | 5 | SystemLabel md_pr |
595 | 6 | NumberOfSpecies 3 | 6 | NumberOfSpecies 3 |
596 | 7 | NumberOfAtoms 10 | 7 | NumberOfAtoms 10 |
597 | @@ -51,7 +51,6 @@ | |||
598 | 51 | 51 | ||
599 | 52 | WriteCoorStep .true. | 52 | WriteCoorStep .true. |
600 | 53 | WriteForces .true. | 53 | WriteForces .true. |
601 | 54 | HarrisFunctional T | ||
602 | 55 | 54 | ||
603 | 56 | WriteMDHistory .true. | 55 | WriteMDHistory .true. |
604 | 57 | MD.UseSaveXV T | 56 | MD.UseSaveXV T |
605 | 58 | 57 | ||
606 | === modified file 'Tests/md_verlet/md_verlet.fdf' | |||
607 | --- Tests/md_verlet/md_verlet.fdf 2006-02-02 14:00:17 +0000 | |||
608 | +++ Tests/md_verlet/md_verlet.fdf 2018-05-10 13:49:56 +0000 | |||
609 | @@ -1,7 +1,7 @@ | |||
610 | 1 | # | 1 | # |
612 | 2 | # MgCO3 in primitive cell. SZ Harris. Some MD steps in Verlet MD | 2 | # MgCO3 in primitive cell. SZ. Some MD steps in Verlet MD |
613 | 3 | # | 3 | # |
615 | 4 | SystemName MgCo3 MD Verlet test -- SZ, 100 Ry Harris | 4 | SystemName MgCo3 MD Verlet test -- SZ, 100 Ry |
616 | 5 | SystemLabel md_verlet | 5 | SystemLabel md_verlet |
617 | 6 | NumberOfSpecies 3 | 6 | NumberOfSpecies 3 |
618 | 7 | NumberOfAtoms 10 | 7 | NumberOfAtoms 10 |
619 | @@ -37,7 +37,6 @@ | |||
620 | 37 | 0.0274 -0.25 -0.5274 3 | 37 | 0.0274 -0.25 -0.5274 3 |
621 | 38 | %endblock AtomicCoordinatesAndAtomicSpecies | 38 | %endblock AtomicCoordinatesAndAtomicSpecies |
622 | 39 | 39 | ||
623 | 40 | HarrisFunctional T | ||
624 | 41 | Solution.Method diagon | 40 | Solution.Method diagon |
625 | 42 | MeshCutoff 100 Ry | 41 | MeshCutoff 100 Ry |
626 | 43 | 42 | ||
627 | 44 | 43 | ||
628 | === modified file 'Tests/sih_fire/sih_fire.fdf' | |||
629 | --- Tests/sih_fire/sih_fire.fdf 2006-12-11 15:30:16 +0000 | |||
630 | +++ Tests/sih_fire/sih_fire.fdf 2018-05-10 13:49:56 +0000 | |||
631 | @@ -39,8 +39,6 @@ | |||
632 | 39 | 39 | ||
633 | 40 | MeshCutoff 40.0 Ry | 40 | MeshCutoff 40.0 Ry |
634 | 41 | 41 | ||
635 | 42 | Harris_Functional | ||
636 | 43 | |||
637 | 44 | MaxSCFIterations 50 | 42 | MaxSCFIterations 50 |
638 | 45 | DM.MixingWeight 0.3 | 43 | DM.MixingWeight 0.3 |
639 | 46 | DM.NumberPulay 3 | 44 | DM.NumberPulay 3 |
640 | 47 | 45 | ||
641 | === modified file 'Tests/var_cell/var_cell.fdf' | |||
642 | --- Tests/var_cell/var_cell.fdf 2006-02-12 18:45:29 +0000 | |||
643 | +++ Tests/var_cell/var_cell.fdf 2018-05-10 13:49:56 +0000 | |||
644 | @@ -1,7 +1,7 @@ | |||
645 | 1 | # | 1 | # |
647 | 2 | # MgCO3 in primitive cell. SZ. Variable cell. Harris. Broyden Optim | 2 | # MgCO3 in primitive cell. SZ. Variable cell. Broyden Optim |
648 | 3 | # | 3 | # |
650 | 4 | SystemName MgCo3 R-3c Harris -- SZ, 100 R -- variable cell at 100 Gpa | 4 | SystemName MgCo3 R-3c -- SZ, 100 R -- variable cell at 100 Gpa |
651 | 5 | SystemLabel var_cell | 5 | SystemLabel var_cell |
652 | 6 | NumberOfSpecies 3 | 6 | NumberOfSpecies 3 |
653 | 7 | NumberOfAtoms 10 | 7 | NumberOfAtoms 10 |
654 | @@ -51,7 +51,6 @@ | |||
655 | 51 | 51 | ||
656 | 52 | WriteCoorStep .true. | 52 | WriteCoorStep .true. |
657 | 53 | WriteForces .true. | 53 | WriteForces .true. |
658 | 54 | HarrisFunctional T | ||
659 | 55 | 54 | ||
660 | 56 | MD.TypeOfRun Broyden | 55 | MD.TypeOfRun Broyden |
661 | 57 | MD.Variable-Cell T | 56 | MD.Variable-Cell T |
662 | 58 | 57 | ||
663 | === modified file 'Tests/zmatrix/zmatrix.fdf' | |||
664 | --- Tests/zmatrix/zmatrix.fdf 2008-10-13 12:44:47 +0000 | |||
665 | +++ Tests/zmatrix/zmatrix.fdf 2018-05-10 13:49:56 +0000 | |||
666 | @@ -35,7 +35,6 @@ | |||
667 | 35 | xc.functional LDA | 35 | xc.functional LDA |
668 | 36 | xc.authors PZ | 36 | xc.authors PZ |
669 | 37 | 37 | ||
670 | 38 | HarrisFunctional T | ||
671 | 39 | MD.TypeOfRun CG | 38 | MD.TypeOfRun CG |
672 | 40 | MD.NumCGsteps 4 | 39 | MD.NumCGsteps 4 |
673 | 41 | MD.VariableCell T | 40 | MD.VariableCell T |
674 | 42 | 41 | ||
675 | === modified file 'version.info' | |||
676 | --- version.info 2018-05-07 12:07:29 +0000 | |||
677 | +++ version.info 2018-05-10 13:49:56 +0000 | |||
678 | @@ -1,1 +1,8 @@ | |||
679 | 1 | <<<<<<< TREE | ||
680 | 1 | siesta-4.0--575 | 2 | siesta-4.0--575 |
681 | 3 | ======= | ||
682 | 4 | siesta-4.0--573--folding-579 | ||
683 | 5 | |||
684 | 6 | |||
685 | 7 | |||
686 | 8 | >>>>>>> MERGE-SOURCE |
For Harris-functional calculations, severe folding is just plain crazy, as there is no time to smooth out the initial differences. We should remove the Harris option from the force_2 test.
In general, we should remove tests with non-physically small cells with gamma point (or at least flag them as showcases for the problems).