1. 18 Aug, 2016 1 commit
    • Nick R. Papior's avatar
      Run all tests, solved merge problems and updated convergence criteria · a6e34ad7
      Nick R. Papior authored
      - Re-run all tests.
        This showed a couple of interesting things.
        1. There was a mistake in the compute_dm code after
        the PEXSI merge when spin-orbit coupling was introduced
        2. I have removed Hprev as it essentially is the same as
        Hold. Either way it shouldn't produce a huge difference
        in the tracking of the dEbs, etc. (after all they are
        not physically used other than for convergence criteria)
        3. The change to SCF.Mix Hamiltonian resulted in a huge
        number of changes in the output. This is because the first
        step prints out the energies at INIT. However, the Hamiltonian
        is different because it is initialized after the compute_dm step.
      - Changed the logic in convergence criteria.
        Now the convergence criterias are additive and may be fully controlled.
        However, at least one convergence criteria must be used.
        Now the default convergence criteria is both the Hamiltonian and the density
        This is updated in the manual and the compatibility note.
      - Initially I thought the above differences in the energies was
        due to inconsistencies after r538. Hence I have created some
        simple routines in the m_energies.f90 code which updates a selected
        few of the energies.
        I think this should be adopted in the future to ensure that all
        calls to update energies are consistent.
        This will make changes to energy calculations less error-prone.
      - Implemented the spin-type in the following routines:
      - Changed the m_compute_max_diff to an interface code with appropriate
        size calculations. There was no reason for explicitly using the
        sparse pattern.
      - Fixed a bug in the molecularmechanics code (introduced by Nick r542)
      - Added a cyclediffs.sh script which loops on OUT.diffs files and
        it lets one easily cycle the diffs, simply do:
        cd Tests
        make check
        and answer all the questions. Basically it makes deletes OUT.diffs
        which you have agreed isn't really a change.
      - The tests may now be runned via:
         make MPI="mpirun -np 4"
        which then uses the default SIESTA location.
        Currently the script checks whether mpirun/mpiexec
        is in SIESTA variable, and if so, does not use MPI variable.
        This makes it easier to decide on the number of cores without
        writing the full path.
  2. 16 Aug, 2016 1 commit
    • Nick R. Papior's avatar
      Updated SCF print-outs · f52b7a15
      Nick R. Papior authored
      - Now dDmax and dHmax are both printed (always)
      - Added more digits to the output so that non-collinear
        and spin-orbit etc. have the same format.
      - After the final step the fermi energy is now also printed
        in the list of Final energies
  3. 13 Aug, 2016 2 commits
    • Nick R. Papior's avatar
      Fixed none orbital pivoting ('none' should be equivalent to orb+none) · bf0d0b34
      Nick R. Papior authored
      - If a transiesta users requests Pivot 'none' there
        was a bug related to defaulting the atomic pivoting
        This has been fixed now.
    • Nick R. Papior's avatar
      Enabled BLAS and LAPACK sources shipped with siesta fixes lp:1593706 · a1c0f310
      Nick R. Papior authored
      - Updated blas.f and lapack.f to encompass all required
        routines to succesfully compile siesta without having the
        blas and lapack libraries.
        We still do not recommend this as performance libraries
        (especially BLAS) will drastically improve performance.
        The current sources (without comments) are taken from
        the lapack svn repository at revision 1776 (v3.6.1)
      - To make it easier to update the scripts in future
        commits a create.sh script and linalg2file.py script
        are added which enables to retrieve the correct sources
        from the basic lapack/blas sources.
      - Updated documentation which describes libsiestaBLAS/LAPACK.a
      - Enabled libsiestaBLAS/LAPACK.a in tbtrans
  4. 12 Aug, 2016 2 commits
  5. 11 Aug, 2016 2 commits
    • Nick R. Papior's avatar
      Fixed command line options for siesta · abad420f
      Nick R. Papior authored
      - The PEXSI branch introduced command line-options.
        However, that was also introduced in transiesta branch
        Now they are merged in a standard form.
      - Updated manual to reflect these changes.
      - Also fixed bug for piping AND using command line options
    • Nick R. Papior's avatar
      Updated compatibility notes, MixH -> default · 16647190
      Nick R. Papior authored
      - Updated compatibility notes for specifics regarding the 4.1
      - Made MixHamiltonian the default mixing option.
      - Updated documentation for siesta by moving a couple of the
        basic entries to the new format.
  6. 10 Aug, 2016 4 commits
  7. 08 Aug, 2016 2 commits
    • Nick R. Papior's avatar
      Merged documentation, see Docs/branch-changes/NOTES.documentation · 63df7ad5
      Nick R. Papior authored
      This merge introduces a new documentation scheme for LaTeX.
      It intrinsically introduces clickable fdf-flags and creates 3
      relevant indices, 1) regular index, 2) fdf-flag (only!) index
      and a files index.
      Test-suite ran. No problems (some of them, however, needs to be 
      updated such that problems shouldn't occur)
    • Nick R. Papior's avatar
      Updated documentation of the diag part. · c23d7c51
      Nick R. Papior authored
      More flags are converted into the new fdfentry method.
      Fixed references for the transiesta electrode setup
      and the mixing variables.
      One should use the fdfindex* variant for sub-options in
  8. 06 Aug, 2016 1 commit
    • Nick R. Papior's avatar
      Fixed a few remaining things of the documentation · eee1540f
      Nick R. Papior authored
      Added documentation at the top of the siesta.tex
      file. There a short explanation of the simple
      mechanisms for writing new documentation is created.
      Added nag package which will complain about certain
      use of ancient commands.
  9. 05 Aug, 2016 6 commits
  10. 04 Aug, 2016 7 commits
    • Nick R. Papior's avatar
      Added Docs/release.sh script for easy creation of tar.gz · 40648c90
      Nick R. Papior authored
      This script enables easier release tar.gz files with a consistent
      The main functionality is that it will create a folder:
      in the main folder where it will create a branch at the specified
      tag. It will subsequently build the documentation and create
      any necessary changes to the code that is necessary before
      making the code available publicly.
      This script is provided by Nick R. Papior
    • Nick R. Papior's avatar
      Moved many of the CHANGES files to the branch-changes · 5d094062
      Nick R. Papior authored
      Their use will probably be discouraged to be used.
      The one main use for future CHANGES would provide a complete (single)
      detailed description of the branch changes.
    • Nick R. Papior's avatar
      Updated documentation for change of list in fdf · 66a3de1f
      Nick R. Papior authored
      Added documentation of PEXSI
      Added documentation of Accuracy control and principal
      cell connections.
    • Nick R. Papior's avatar
      Merged transiesta · 6d014704
      Nick R. Papior authored
      Added die routine for non-complete principal connections
      and precision control of the SE convergence.
      Changed the { to [ for list construction in FDF.
      Added fdf_bphysical to read 'VN' (value name)
    • Nick R. Papior's avatar
      Added fdf_bphysical and change { to [ in list creations · 477be823
      Nick R. Papior authored
      The sample.f90 has been checked and works correctly and
      thus all lists may now be used as [. This is to accommodate
      future { for dictionaries etc.
      Added a fdf_bphysical routine for reading physical quantities
      in blocks.
      Added a copy statement to the dictionary.
    • Alberto Garcia's avatar
      Merged PEXSI-solver interface code · fd38db27
      Alberto Garcia authored
      Please see the manual for the new options related to the PEXSI
      solver. Keep in mind that this solver is competitive only for very
      large calculations.
      Alberto Garcia thanks Lin Lin, Chao Yang, Georg Huhs, and Nick Papior
      for their help with the design and coding of the interface.
      Developer note: Please see the "Notes for PEXSI operation" in
      Src/siesta.F for a brief overview of the basic coding changes
      that need to be kept into account for further development work.
    • Alberto Garcia's avatar
      Use SIESTA__PEXSI as symbol, and .LDOS. instead of .localdos. · da222183
      Alberto Garcia authored
      Updated "ifdefs" to use SIESTA__PEXSI as flag. 
      PEXSI local DOS routines now use  .LDOS. fdf flags. Updated test files.
      (+ make previous 2D-array MPI "gather" interface changes in .lit files)
  11. 03 Aug, 2016 1 commit
    • Alberto Garcia's avatar
      Cleaner fix for init_spin behavior · 9e8f530c
      Alberto Garcia authored
      The nspin, spinor_dim, et al integer pointers in 'm_init' have now
      been initialized to 'null()', and the 'init_spin' routine is now
      called by all processes in 'siesta_init'.  This is the cleanest way to
      fix the problem described in the previous commit.
      Note that the PEXSI routines still use the 'nspin' variable internally
      to refer to both 'spinor_dim' and 'h_spin_dim'. This will be changed when
      mixed-spin solving is implemented.
  12. 01 Aug, 2016 1 commit
  13. 31 Jul, 2016 2 commits
    • Nick R. Papior's avatar
      Added accuracy control to transiesta on a per-electrode case · 7170066d
      Nick R. Papior authored
      Through fdf-flags one may control the accuracy required for the
      convergence of the self-energies. This enables finer control of
      the self-energy calculations and in some cases it may be useful.
    • Alberto Garcia's avatar
      Fix bug related to init_spin behavior · 11a4dbbe
      Alberto Garcia authored
      The PEXSI-only processes do not call 'init_spin', and rely on a
      broadcast from the Siesta_worker nodes to get certain information. As
      nspin, spinor_dim, et al were integer pointers in 'm_init', they were
      undefined on entry to the PEXSI interface routines, causing segfaults.
      They have been converted to plain integers for now, pending a review
      of other possible ways to fix the problem. 
      Some pointers in sparse_matrices have been initialized to null().
      A test to catch non-collinear or spin-orbit cases has been added
      before the call to the PEXSI solver.
      Note that the PEXSI routines still use the 'nspin' variable internally
      to refer to both 'spinor_dim' and 'h_spin_dim'. This will be changed when
      mixed-spin solving is implemented.
      Added Tests/sih-pexsi-spin.
  14. 30 Jul, 2016 2 commits
    • Alberto Garcia's avatar
      Put back the MPI interfaces · 3632a252
      Alberto Garcia authored
      The custom MPI interfaces in Src/MPI are now compiled
      by default, except if the preprocessor option
      is specified.
      + 2D arrays have to be passed as a(1,1) in the
        mpi_(all)gather calls in the pexsi modules...
      + Update pexsi arch.makes in Src/Sys
    • Alberto Garcia's avatar
      Wrap PEXSI code within preprocessor blocks · af3efe33
      Alberto Garcia authored
      The mechanism is similar to that used for TranSiesta.
      (Also wrapped ELPA code within MPI preprocessor blocks)
  15. 29 Jul, 2016 6 commits