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