##############################################
 Detailed Changes between v4.0 and v4.1-b3
##############################################

------------------------------------------------------------
revno: 736
tags: v4.1-b3
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-07-04 10:30:53 +0200
message:
  Updated copyright years in siesta manuals
------------------------------------------------------------
revno: 735
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-07-04 08:52:32 +0200
message:
  Updated Siesta tests
  
  Almost all tests are updated.
  
  I can't get the results of the FePt_zz/zy tests,
  they run for more than 10 hours.
  
  TODO: Update tests to ensure they all converge (SCF convergence)
  and that they run it a reasonable time (regardless of the result).
------------------------------------------------------------
revno: 734
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-07-03 13:28:45 +0200
message:
  Updated Transiesta-TBtrans tests
------------------------------------------------------------
revno: 733 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-07-03 13:16:01 +0200
message:
  Merged 4.0 r530
  
  Updated makefiles in Utils so that make clean works by cleaning
  everything.
  
  This makes the script ./clean_all.sh work as it should.
    ------------------------------------------------------------
    revno: 483.3.44
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Mon 2017-07-03 12:08:01 +0200
    message:
      Fixed Makefiles for clean targets in Util directories
      
      Now the following utilities will clean everything when
      issuing make clean in their build directories.
      
      - COOP
      - SiestaSubroutine/ProtoNEB
      - SiestaSubroutine/SimpleTest
      - WFS
------------------------------------------------------------
revno: 732 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-07-03 11:52:23 +0200
message:
  Merged 4.0 r529
  
  Updated makefile for tests, the tests for 4.1-b3 will be added
  in the next commit.
    ------------------------------------------------------------
    revno: 483.3.43
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Mon 2017-07-03 09:29:10 +0200
    message:
      Updated all tests for the 4.0.1 release
      
      Every test has been updated and checked.
      
      There were some tests were the energy was changed.
      This was due to fixes in the dipole correction where the
      energy contribution of an internal field is only half of
      an external field. This was a bug in prior versions.
      
      Secondly, there were a few tests missing in the Tests/Makefile
      which have now been added.
    ------------------------------------------------------------
    revno: 483.3.42
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Sun 2017-07-02 12:08:24 +0200
    message:
      Fixed test name for dipole_correction
      
      The dipole_correction test had an erroneous SystemLabel.
      This has been corrected.
------------------------------------------------------------
revno: 731
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Sun 2017-07-02 10:56:49 +0200
message:
  Updated lapack and blas to 3.7.1
  
  Now the shipped sources of LAPACK and BLAS are updated
  with several bug-fixes.
------------------------------------------------------------
revno: 730 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Sun 2017-07-02 10:49:35 +0200
message:
  Merged 4.0 r527
    ------------------------------------------------------------
    revno: 483.3.41
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Sun 2017-07-02 10:44:19 +0200
    message:
      Fixes fdf-name for maxwalltime and the variable declaration
      
      Now the walltime_warning is in real(dp) to fit the reading of
      floating point values (to prevent erroneous conversion from
      real(dp) -> integer)
      
      Fixed name reads in fdf_get to be the same as the documentation
      specification.
------------------------------------------------------------
revno: 729 [merge]
author: Nick Papior <nickpapior@gmail.com>
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Sat 2017-07-01 23:12:36 +0200
message:
  Merged 4.0 r526 (units for max-walltime; fdf_isphysical)
    ------------------------------------------------------------
    revno: 483.3.40 [merge]
    author: Nick Papior <nickpapior@gmail.com>
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.0
    timestamp: Sat 2017-07-01 22:50:23 +0200
    message:
      Provide units for max-walltime and max-walltime-slack. Add fdf_isphysical
      
      The fdf options max-walltime and max-walltime-slack should properly be
      specified with units (e.g. 2.5 hours), instead of what a single number
      interpreted as seconds.
      
      To maintain compatibility with previous usage, a new boolean function
      
       fdf_isphysical(label)
      
      has been added to the FDF library, to check whether units are given
      for the value of 'label' in the fdf file or not.
        ------------------------------------------------------------
        revno: 483.9.19
        author: Nick Papior <nickpapior@gmail.com>
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0-aiida
        timestamp: Sat 2017-07-01 22:47:51 +0200
        message:
          Provide units for max-walltime and max-walltime-slack. Add fdf_isphysical
          
          The fdf options max-walltime and max-walltime-slack should properly be
          specified with units (e.g. 2.5 hours), instead of what a single number
          interpreted as seconds.
          
          To maintain compatibility with previous usage, a new boolean function
          
           fdf_isphysical(label)
          
          has been added to the FDF library, to check whether units are given for
          the value of 'label' in the fdf file or not.
------------------------------------------------------------
revno: 728 [merge]
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Sat 2017-07-01 22:58:50 +0200
message:
  Merged 4.0 r525
  
  (More robust treatment of nspin=4 in GGA XC routines)
  
  Only Src/SiestaXC/ggaxc.f had to be changed.
  Src/xc.f already contained the patch (save cosmetics)
  
  (Thanks to Ramon Cuadrado)
    ------------------------------------------------------------
    revno: 483.3.39 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.0
    timestamp: Sat 2017-07-01 22:37:46 +0200
    message:
      More robust treatment of nspin=4 in GGA XC routines
      
      In Src/SiestaXC/ggaxc.f, and in Src/xc.f, use a more robust
      determination of the angles and the derivatives.
      
      (Thanks to Ramon Cuadrado)
        ------------------------------------------------------------
        revno: 483.11.3 [merge]
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0-xc
        timestamp: Sat 2017-07-01 15:52:17 +0200
        message:
          Merge: removal of redundant comments
            ------------------------------------------------------------
            revno: 483.12.1
            committer: Nick Papior <nickpapior@gmail.com>
            branch nick: 4.0-xc
            timestamp: Fri 2017-06-30 19:55:36 +0200
            message:
              Removed RC comments that were not needed, no code logic has changed
        ------------------------------------------------------------
        revno: 483.11.2
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0-xc
        timestamp: Fri 2017-06-30 16:45:53 +0200
        message:
          More robust treatment of nspin=4 in SiestaXC/ggaxc.f
        ------------------------------------------------------------
        revno: 483.11.1
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0-xc
        timestamp: Fri 2017-06-30 16:37:45 +0200
        message:
          More robust way to deal with nspin=4 in xc.f
------------------------------------------------------------
revno: 727 [merge]
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Sat 2017-07-01 15:42:49 +0200
message:
  Merged 4.0 r523+524
  
  Update the STM programs in Util/STM)
    ------------------------------------------------------------
    revno: 483.3.38
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.0
    timestamp: Sat 2017-07-01 15:28:08 +0200
    message:
      (log for r523) Update the STM programs in Util/STM
      
      (By mistake, r523 used a wrong commit log. This is the correct one)
      
      - Fix fftw plan bug in STM/ol-stm code
      
        Due to an oversight, the NX and NY dimensions were not interchanged
        in the call to the FFTW plan routine that uses the F2003 interface.
      
      - Use WFSX files as input for the STM/ol-stm program
      
        It is no longer necessary to convert the WFSX to an old-fashioned
        WFS file before using the program. This will save space and time.
      
      - Add 'stm-label' feature to STM/ol-stm program + cosmetics
        
        An optional label can be pasted in the name of the output
        files.
        Remove fossil files and update documentation.
      
      - Add test for si001-ldos. Extra lines in plstm
        
        Added a new test to compute the LDOS for the si001-H test, to
        exercise the 'simple' STM program STM/plstm
        
        In plstm, print a blank line after every set of x scans, so that
        gnuplot can work better in 'surface/contour' mode.
      
      - Add a new interpolation option 'poly' to macroave
        
        Macroave might be useful to determine automatically the right
        point at which the vacuum potential gets flat (of interest for
        STM/ol-stm operation).
        
        The 'spline' interpolation option can cause oscillations for
        functions with discontinuous derivatives. In these cases the
        'linear' option is more robust.
        
        The current implementation of the 'linear' option is quite obscure. A
        new option 'poly' has been introduced. It uses a routine derived from
        code by D.R. Hamann which implements general polynomial interpolation.
        For order=1, it can replace the 'linear' option. For now, pending an
        upgrade of the interface, 'poly' implements quadratic polynomial
        interpolation (subject to the same oscillations for non-smooth
        functions).
    ------------------------------------------------------------
    revno: 483.3.37 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.0
    timestamp: Fri 2017-06-30 16:01:29 +0200
    message:
      Add extra logging and control capabilities
      
      A number of extra control and logging features have been implemented
      to facilitate the use of Siesta within automated computational
      frameworks, notably the AiiDA platform.
      
      - A new file 'MESSAGES' holds a summary of warnings and possible errors.
      
        Calls to 'die' now print a line in MESSAGES with a 'FATAL' prefix, and
        then perform an orderly closing of the CML file, and flush stdout and
        stderr, before actually terminating the program.
      
        The routine 'message(level,str)' also prints an appropriate line in
        MESSAGES.
      
      - Optional termination if geometry is not converged
        
        If the flag 'Geometry.Must.Converge' is .true., the
        program will terminate if the geometry relaxation is
        not converged, before carrying out any final analysis.
      
      - Enhancements to the CML interface
      
        Add routine print_spin and call it at every geometry step. The final
        call in 'siesta_analysis' is preserved for backwards compatibility.
      
        Put energies in 'scf finalization' module in the CML file
      
        Write stress to CML file at each geometry step
      
        Close properly the CML stack before 'die'ing.
      
      - Add a simple interface to check wall-clock time
        
        A new module 'm_check_walltime' provides a routine
        'check_walltime' and exports variables 'walltime_max'
        and 'walltime_warning'.
        
        Users can request walltime control by means of the
        fdf variables:
        
        Max.Walltime N   # in seconds, default infinity
        Max.Walltime.Slack    # in seconds
        
        Typically, the first would be set automatically by inheritance
        from the queuing system or AiiDA script. The second should give
        an estimate of the time needed for cleanup operations. The default
        is 5 seconds.
        
        Currently, the 'check_walltime' routine is invoked at the end of
        every SCF step, and at the end of every geometry step.
      
      - Fixes for compilation
        
        Use a 'local_sys.{f,F}' file in Util programs and
        SiestaXC to decouple them from the extra functionality
        in the top-level sys.F file (particularly the CML closing
        operations).
        
        Remove the dependency of 'alloc.o' on 'debugmpi'.
        
        Add '.c' to .SUFFIXES in 'arch.make.in' 
      
      - Add arch.make suitable for fortran-mpi Docker image
      
        (Experimental)
        ------------------------------------------------------------
        revno: 483.10.6
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0-stm
        timestamp: Fri 2017-06-02 17:48:55 +0200
        message:
          Add a new interpolation option 'poly' to macroave
          
          Macroave might be useful to determine automatically the right
          point at which the vacuum potential gets flat.
          
          The 'spline' interpolation option can cause oscillations for
          functions with discontinuous derivatives. In these cases the
          'linear' option is more robust.
          
          The current implementation of the 'linear' option is quite obscure. A
          new option 'poly' has been introduced. It uses a routine derived from
          code by D.R. Hamann which implements general polynomial interpolation.
          For order=1, it can replace the 'linear' option. For now, pending an
          upgrade of the interface, 'poly' implements quadratic polynomial
          interpolation (subject to the same oscillations for non-smooth
          functions).
        ------------------------------------------------------------
        revno: 483.10.5
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0-stm
        timestamp: Thu 2017-06-01 15:25:51 +0200
        message:
          Add 'stm-label' feature to STM program + cosmetics
          
          An optional label can be pasted in the name of the output
          files.
          Remove fossil files and update documentation.
        ------------------------------------------------------------
        revno: 483.10.4
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0-stm
        timestamp: Wed 2017-05-31 11:14:05 +0200
        message:
          Add test for si001-ldos. Extra lines in plstm
          
          Added a new test to compute the LDOS for the si001-H test, to
          exercise the 'simple' STM program.
          
          In plstm, print a blank line after every set of x scans, so that
          gnuplot can work better in 'surface/contour' mode.
        ------------------------------------------------------------
        revno: 483.10.3
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0-stm
        timestamp: Mon 2017-05-08 19:17:07 +0200
        message:
          Update manual
        ------------------------------------------------------------
        revno: 483.10.2
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0-stm
        timestamp: Sun 2017-02-19 02:42:12 +0100
        message:
          Fix fftw plan bug
        ------------------------------------------------------------
        revno: 483.10.1
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0-stm
        timestamp: Sun 2017-02-19 02:35:38 +0100
        message:
          Use wfsx instead of wfs
------------------------------------------------------------
revno: 726 [merge]
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Sat 2017-07-01 15:23:38 +0200
message:
  Merged 4.0 r522
  
  (Extra logging and control features)
    ------------------------------------------------------------
    revno: 725.1.7
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1
    timestamp: Sat 2017-07-01 14:43:31 +0200
    message:
      Update building of ProtoNEB and SimpleTest
    ------------------------------------------------------------
    revno: 725.1.6
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1
    timestamp: Sat 2017-07-01 14:39:05 +0200
    message:
      Update building of TS/tshs2tshs
    ------------------------------------------------------------
    revno: 725.1.5
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1
    timestamp: Sat 2017-07-01 14:37:34 +0200
    message:
      Update building of TS/ts2ts
    ------------------------------------------------------------
    revno: 725.1.4
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1
    timestamp: Sat 2017-07-01 14:35:18 +0200
    message:
      Update building of SpPivot
    ------------------------------------------------------------
    revno: 725.1.3
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1
    timestamp: Sat 2017-07-01 14:33:09 +0200
    message:
      Update building of Grimme
    ------------------------------------------------------------
    revno: 725.1.2
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1
    timestamp: Sat 2017-07-01 14:29:11 +0200
    message:
      Update building of COOP
    ------------------------------------------------------------
    revno: 725.1.1 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1
    timestamp: Sat 2017-07-01 02:59:38 +0200
    message:
      First stage of merging 4.0-522 (aiida patch)
        ------------------------------------------------------------
        revno: 483.3.36 [merge]
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0
        timestamp: Fri 2017-06-30 15:48:40 +0200
        message:
          Add extra logging and control capabilities
          
          A number of extra control and logging features have been implemented
          to facilitate the use of Siesta within automated computational
          frameworks, notably the AiiDA platform.
          
          - A new file 'MESSAGES' holds a summary of warnings and possible errors.
          
            Calls to 'die' now print a line in MESSAGES with a 'FATAL' prefix, and
            then perform an orderly closing of the CML file, and flush stdout and
            stderr, before actually terminating the program.
          
            The routine 'message(level,str)' also prints an appropriate line in
            MESSAGES.
          
          - Optional termination if geometry is not converged
            
            If the flag 'Geometry.Must.Converge' is .true., the
            program will terminate if the geometry relaxation is
            not converged, before carrying out any final analysis.
          
          - Enhancements to the CML interface
          
            Add routine print_spin and call it at every geometry step. The final
            call in 'siesta_analysis' is preserved for backwards compatibility.
          
            Put energies in 'scf finalization' module in the CML file
          
            Write stress to CML file at each geometry step
          
            Close properly the CML stack before 'die'ing.
          
          - Add a simple interface to check wall-clock time
            
            A new module 'm_check_walltime' provides a routine
            'check_walltime' and exports variables 'walltime_max'
            and 'walltime_warning'.
            
            Users can request walltime control by means of the
            fdf variables:
            
            Max.Walltime N   # in seconds, default infinity
            Max.Walltime.Slack    # in seconds
            
            Typically, the first would be set automatically by inheritance
            from the queuing system or AiiDA script. The second should give
            an estimate of the time needed for cleanup operations. The default
            is 5 seconds.
            
            Currently, the 'check_walltime' routine is invoked at the end of
            every SCF step, and at the end of every geometry step.
          
          - Fixes for compilation
            
            Use a 'local_sys.{f,F}' file in Util programs and
            SiestaXC to decouple them from the extra functionality
            in the top-level sys.F file (particularly the CML closing
            operations).
            
            Remove the dependency of 'alloc.o' on 'debugmpi'.
            
            Add '.c' to .SUFFIXES in 'arch.make.in' 
          
          - Add arch.make suitable for fortran-mpi Docker image
          
            (Experimental)
            ------------------------------------------------------------
            revno: 483.9.18
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Fri 2017-06-30 10:48:45 +0200
            message:
              Remove contents of MESSAGES file at initialization
            ------------------------------------------------------------
            revno: 483.9.17 [merge]
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Fri 2017-06-30 10:31:34 +0200
            message:
              Sync to 4.0--521
            ------------------------------------------------------------
            revno: 483.9.16
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Mon 2017-05-15 15:06:32 +0200
            message:
              Enhance the MESSAGES interface
              
              A number of enhancements (design still fluid):
              
              -- Upon a termination due to time limit, the scf convergence
                 is also checked, and another (fatal) error can be raised.
              
              -- A similar check for geometry convergence in the time-limit
                 check in 'siesta_move'.
            ------------------------------------------------------------
            revno: 483.9.15
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Mon 2017-05-15 11:49:08 +0200
            message:
              Document walltime warnings. Set slack to 5 seconds
            ------------------------------------------------------------
            revno: 483.9.14
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Wed 2017-03-22 12:03:31 +0100
            message:
              Add arch.make suitable for fortran-mpi Docker image
            ------------------------------------------------------------
            revno: 483.9.13
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Sun 2017-03-12 02:08:18 +0100
            message:
              Fixes for compilation
              
              Use a 'local_sys.{f,F}' file in Util programs and
              SiestaXC to decouple them from the extra functionality
              in the top-level sys.F file (particularly the CML closing
              operations).
              
              Remove the dependency of 'alloc.o' on 'debugmpi'.
              
              Add '.c' to .SUFFIXES in 'arch.make.in' 
            ------------------------------------------------------------
            revno: 483.9.12
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Sun 2017-03-12 00:41:00 +0100
            message:
              Remove empty directories. Put README in Obj
            ------------------------------------------------------------
            revno: 483.9.11
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Sun 2017-03-12 00:39:35 +0100
            message:
              Shorten a line in siesta_forces
            ------------------------------------------------------------
            revno: 483.9.10
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Fri 2017-03-10 12:49:48 +0100
            message:
              Add mnemonic codes scf and time warnings and errors
            ------------------------------------------------------------
            revno: 483.9.9
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Wed 2017-03-08 10:53:39 +0100
            message:
              Remove cml dependency in SiestaXC
            ------------------------------------------------------------
            revno: 483.9.8
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Wed 2017-03-08 10:32:06 +0100
            message:
              Add cml in SiestaXC
            ------------------------------------------------------------
            revno: 483.9.7
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Sun 2017-03-05 20:42:40 +0100
            message:
              Optional termination if geometry is not converged
              
              If the flag 'Geometry.Must.Converge' is .true., the
              program will terminate if the geometry relaxation is
              not converged, before carrying out any final analysis.
            ------------------------------------------------------------
            revno: 483.9.6
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Sun 2017-03-05 17:38:31 +0100
            message:
              Add routine print_spin and call it at every geometry step
              
              The final call in 'siesta_analysis' is preserved for backwards
                compatibility.
            ------------------------------------------------------------
            revno: 483.9.5
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Sat 2017-03-04 01:04:01 +0100
            message:
              Put energies in 'scf finalization' module in the CML file
            ------------------------------------------------------------
            revno: 483.9.4
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Fri 2017-03-03 11:51:05 +0100
            message:
              Write stress to CML file at each geometry step
            ------------------------------------------------------------
            revno: 483.9.3
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Fri 2017-02-24 12:43:01 +0100
            message:
              Add a simple interface to check wall-clock time
              
              A new module 'm_check_walltime' provides a routine
              'check_walltime' and exports variables 'walltime_max'
              and 'walltime_warning'.
              
              Users can request walltime control by means of the
              fdf variables:
              
              Max.Walltime N   # in seconds, default infinity
              Max.Walltime.Slack    # in seconds
              
              Typically, the first would be set automatically by inheritance
              from the queuing system or AiiDA script. The second should give
              an estimate of the time needed for cleanup operations. By default,
              it is one minute per 100 atoms, with a minimum of 10 seconds.
              
              Currently, the 'check_walltime' routine is invoked at the end of
              every SCF step, and at the end of every geometry step.
            ------------------------------------------------------------
            revno: 483.9.2
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Tue 2017-02-21 17:12:49 +0100
            message:
              Close properly the CML stack
            ------------------------------------------------------------
            revno: 483.9.1
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-aiida
            timestamp: Tue 2017-02-21 15:47:11 +0100
            message:
              Use MESSAGES file as summary
------------------------------------------------------------
revno: 725
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2017-06-29 21:35:41 +0200
message:
  Fixed a bug when TBT.Projs.Only was true
  
  This fix is only for tbtrans
------------------------------------------------------------
revno: 724
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-06-23 22:12:34 +0200
message:
  Added error when doing non-colinear or spin-orbit with LDA+U
  
  There are (@R. Robles) some terms missing in the LDA+U
  implementation when non-colinear or spin-orbit coupling is used.
  This has been added to the documentation as well.
  
  Secondly, the setup_hamiltonian now fully uses the spin type.
------------------------------------------------------------
revno: 723
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-06-23 21:49:18 +0200
message:
  Moved globalization of Eso energy into spinorb
  
  To make it easier to use the Eso globalization is
  now performed in the spinorb routine.
  
  Also implemented the spin type in setup_H0
------------------------------------------------------------
revno: 722
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-06-23 21:41:12 +0200
message:
  Changed preprocessor NO_MRRR to MRRR, default not compiled in
  
  Now the MRRR routines are defaulted not to be compiled in.
  If one wishes to use these faster methods one should use the
  preprocessor flag:
   -DSIESTA__MRRR
  which enables the necessary routines.
------------------------------------------------------------
revno: 721
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-06-23 09:25:11 +0200
message:
  Updated the release notes for 4.1-b3
------------------------------------------------------------
revno: 720
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2017-06-22 11:26:17 +0200
message:
  Fixed EDM spin-orbit coupling <>.nc file
  
  The spin components for the EDM matrix vs. DM is not the
  same for the spin-orbit case.
  Hence a fix was required to make sure they could be obtained correctly.
------------------------------------------------------------
revno: 719
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-06-19 14:07:47 +0200
message:
  Fixed spin-orbit coupling <>.nc file
  
  The spin components for the matrices vs. the real-space grid are not the
  same for the spin-orbit case.
  Hence a fix was required to make sure they could be obtained correctly.
------------------------------------------------------------
revno: 718
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2017-06-15 21:05:36 +0200
message:
  Fixed flook commit where I erroneously deleted a use statement
  
  Also forced h_chain to not run with MPI
------------------------------------------------------------
revno: 717
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2017-06-15 12:14:56 +0200
message:
  Fixed LTO compilation of the fdict and ncdf libraries
------------------------------------------------------------
revno: 716
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2017-06-15 11:38:26 +0200
message:
  Updated manual for the tests runs in the Makefile
------------------------------------------------------------
revno: 715
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-06-13 21:08:33 +0200
message:
  Removed Examples/TranSiesta directory, fixed ts2ts, +doc
  
  Removed the Examples/TranSiesta directory, the example would
  never work in the new TranSiesta because of a too small electrode.
  
  The ts2ts now also copies the old Neigen flag for tbtrans to the
  new specification.
  
  Added more documentation about the Lua interface.
------------------------------------------------------------
revno: 714
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-06-13 07:40:38 +0200
message:
  Fixed print-out of orbital currents with TRS
  
  I.e. now it only prints if the option is wrong.
------------------------------------------------------------
revno: 713
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Sun 2017-06-11 12:48:33 +0200
message:
  Enabled Lua calls with the new mixing routines
  
  The Lua-interface to changing the mixing weight etc. was broken
  because of the new mixing routines added.
  This has now been re-enabled because it seems like a very useful feature.
  
  A couple of requirements were needed to be fulfilled:
  
  1. The fdict variable required an update to enable pointers
     to character arrays (of len=1).
  
  2. The ncdf library then also required an update.
  
  3. The internals of the character retrieving functions needed adaption
     of the new method in fdict.
  
  Now this is much better and easier to handle.
  
  Two examples are now for the "pure" lua interface (not flos):
  
  - lua_h2o
    An adaptive change of the mixing weight per iteration.
    This is in an MD environment and thus it resets it every
    MD step.
    
  - lua_si111
    A mixing method changer based on the convergence criteria.
    This will change the mixer to more aggressive methods at
    certain convergence levels.
  
  Added a example explanations in the documentation.
------------------------------------------------------------
revno: 712
fixes bug: https://launchpad.net/bugs/1697142
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Sat 2017-06-10 11:48:05 +0200
message:
  Fixed double linker libraries in the shipped *.make files
  
  When using the COMB_LIBS files we should not add them to the LIBS
  variable (they are added manually).
  This has been fixed in gfortran.make and intel.make.
------------------------------------------------------------
revno: 711
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-05-23 00:06:14 +0200
message:
  Updated documentation with indices for MD.TypeOfRun
------------------------------------------------------------
revno: 710
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-05-19 21:29:35 +0200
message:
  Fixed Makefile for fdict and ncdf in tshs2tshs
  
  Changes to fdict and ncdf had not been propageted to this utility.
  I have done a:
    grep fdict Util/**/*
  folder and it should now compile everything fine.
------------------------------------------------------------
revno: 709
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-05-19 15:38:14 +0200
message:
  TBT clarified projection output and updated manual for tbtrans
  
  Added more information in the output when projection regions error
  out.
  Also added names to the orbital regions in tbtrans.
------------------------------------------------------------
revno: 708
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-04-25 22:54:59 +0200
message:
  Fixed clean Makefile target when no compilation has been performed
  
  The makefile was performing a clean in a possibly non-existing
  directory. It now checks correctly for it and only then proceeds.
  
  Updated all Makefiles
------------------------------------------------------------
revno: 707
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-04-21 23:10:18 +0200
message:
  Fixed an out-standing bug related to bond-currents and dH (TBT)
  
  The delta-H method in TBtrans has been revised and updated.
  
  Now dH adds e ^ { i k.R } phases for consistency. If people use it
  for rescaling coupling elements this makes sense, if it is used
  for more advanced uses (where the phases shouldn't be there) the
  users should be familiar with this and add the opposite phases.
  
  Secondly, the bond-currents are now defaulting to adding the dH
  elements to the bond-currents. I.e. the same equation for H
  is now also applied with dH. This is controlled via the flag
  
    TBT.dH.Current.Orb
  
  which defaults to True when bond-currents are requested.
  
  The documentation has been updated to reflect the changes.
------------------------------------------------------------
revno: 706 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-04-21 22:15:22 +0200
message:
  Merged 4.0 r521
    ------------------------------------------------------------
    revno: 483.3.35
    fixes bug: https://launchpad.net/bugs/1685169
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Fri 2017-04-21 22:13:48 +0200
    message:
      Fixed initialization of interpolation variable and reduction variable
      
      This fixes lp:1685169.
      The bug occurs when siesta has been compiled with:
         -ffpe-trap=invalid,zero,overflow,underflow,denormal
      which signals an SIGFPE.
      Typically these things are hidden when compiling normally and one
      should, probably, not be concerned.
------------------------------------------------------------
revno: 705
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-04-04 21:14:36 +0200
message:
  Updated tbtrans makefile for ncdf compilation
  
  Same as r699 for tbtrans.
------------------------------------------------------------
revno: 704
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-04-04 17:26:16 +0200
message:
  Fixed ncdf compilation on non-gnu compilers
------------------------------------------------------------
revno: 703
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-04-03 21:10:18 +0200
message:
  Added remark of TBT.Projs.T requirement in tbtrans.tex
------------------------------------------------------------
revno: 702
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2017-03-30 14:24:04 +0200
message:
  Removed unnecessary stuff in Makefile
  
  Updated create_images.py script in flos_h2o_neb test.
------------------------------------------------------------
revno: 701
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-03-29 09:06:42 +0200
message:
  Updated flos-h2o-neb script and reference output with optimized flags
------------------------------------------------------------
revno: 700
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-03-29 08:33:08 +0200
message:
  Forgot to add the flos_h2o_neb reference output in r698
------------------------------------------------------------
revno: 699
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-03-29 08:26:02 +0200
message:
  Bugfix for compilation on weird shells, tabulator inserts are tricky
  
  Now we use printf instead of echo.
------------------------------------------------------------
revno: 698
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-03-29 08:22:45 +0200
message:
  Updated tests folder, added FLOS tests for LBFGS, FIRE and meshcutoff
  
  Added flos tests.
  To run the flos tests it is required that:
  1. SIESTA has been compiled with flook support
  2. flos has been installed by adding the library to the LUA_PATH
     environment variable.
  
  The new flos tests involve a:
   LBFGS relaxation with the H2O molecule
   FIRE relaxation with the H2O molecule
   MeshCutofff convergence with the H2O molecule
   NEB of rotation of H2O molecule in a two molecule setup (not enough vacuum
   , but useful enough for testing).
  
  all 3 are very fast and shows how a Lua implementation could
  be performed.
  
  This also required that the tests folder is updated.
  Now the tests are subdivided into specific tasks:
   tests_soc; all spin-orbit tests. These are typically
   	   very loong tests and require a long time to run.
   tests_flos; tests requiring flook and flos
   tests; everything else
  
  Later these may be extended.
------------------------------------------------------------
revno: 697 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-03-27 08:43:38 +0200
message:
  Merged fdict-ncdf branch, contains memory leak fixes
  
  This merge updates the shipped fdict and ncdf sources such that
  1. A pre-processor is not required
  2. Many bug-fixes related to memory leaks have been fixed
  3. Documentation updates.
    ------------------------------------------------------------
    revno: 687.1.3 [merge]
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-fdict-ncdf
    timestamp: Fri 2017-03-24 19:55:01 +0100
    message:
      Merged 4.1 r688-695
    ------------------------------------------------------------
    revno: 687.1.2
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-ncdf-fdict
    timestamp: Wed 2017-03-01 08:57:52 +0100
    message:
      Updated documentation to specify that the preprocessor is not needed
    ------------------------------------------------------------
    revno: 687.1.1
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-ncdf-fdict
    timestamp: Wed 2017-03-01 08:28:09 +0100
    message:
      Updated fdict and ncdf to packages with smeka build system
      
      This has several advantages,
      - updates can more easily be made to fdict and ncdf.
      - The pre-processed sources are shipped with the source
        and the build-system will automatically detect which flags
        requires what sources. I.e. CPP is not a prerequisite anymore.
------------------------------------------------------------
revno: 696 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-03-27 08:36:49 +0200
message:
  Merged install-scripts branch, contains installation scripts
  
  This merge enables easy installation of netcdf and flook for
  use in SIESTA.
    ------------------------------------------------------------
    revno: 695.1.1
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-scripts
    timestamp: Fri 2017-03-24 21:05:55 +0100
    message:
      Added scripts for installing netcdf-4 and flook libraries
      
      To aid the user experience I have added two scripts which enables
      easy installation of NetCDF with CDF4 compliance, and flook library.
      
      Both make SIESTA more userfriendly due to easier post-processing tools
      and easier MD, geometry relaxation algorithms.
------------------------------------------------------------
revno: 695
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-03-22 09:41:26 +0100
message:
  Enabled reading TS.Atoms.Buffer using a direct list
  
  This is just slightly easier than using a full block if
  the atoms are consecutive.
  Also updated documentation to reflect this.
------------------------------------------------------------
revno: 694
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-03-22 08:39:33 +0100
message:
  Fixed fixed-spin calculations when writing to XML
  
  There was a bug in writing the Efs array to the XML output.
  This has been fixed.
------------------------------------------------------------
revno: 693
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-03-15 22:04:04 +0100
message:
  Fixed running flook without a file
  
  Commit r692 introduced a bug. This is now fixed.
------------------------------------------------------------
revno: 692
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-03-15 21:38:29 +0100
message:
  Updated flook interaction with flos
  
  Now flos is easier to implement and the routines
  for interaction has been changed from:
    siesta_get/siesta_return
  to
    siesta.receive/siesta.send
  to reflect their nature.
  There were some problems with the return keyword.
------------------------------------------------------------
revno: 691
fixes bug: https://launchpad.net/bugs/1672084
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Sat 2017-03-11 21:45:13 +0100
message:
  Fixed sorting bug in tbtrans introduced in 588
  
  It affected all calculated quantities if these flags
  were true and the sparse pattern was not already sorted:
  TBT.DOS.A
  TBT.Current.Orb
------------------------------------------------------------
revno: 690
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-03-06 14:30:43 +0100
message:
  Fixed sequence of reading the TBT.k block/list now TBT.k is always preferred
------------------------------------------------------------
revno: 689
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2017-03-02 09:56:25 +0100
message:
  Removed unneeded pre-processor flag in tbt_tri_scat
  
  Now the orbital currents are always with - E * S for energy scaling.
  (Note, they were also before this commit)
------------------------------------------------------------
revno: 688
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-03-01 08:44:09 +0100
message:
  Removed unused variables in tbtrans files, and in m_ts_sparse
------------------------------------------------------------
revno: 687
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-02-28 10:54:23 +0100
message:
  Bugfix in fdict string deletion
  
  Fixed a deletion of iso_var_str.
------------------------------------------------------------
revno: 686
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-02-27 15:20:52 +0100
message:
  Bugfix in documentation of tbtrans
  
  Nomenclature of projections was inconsistent.
------------------------------------------------------------
revno: 685 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-02-27 09:02:56 +0100
message:
  Merged 4.0 r520
    ------------------------------------------------------------
    revno: 483.3.34
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Mon 2017-02-27 09:01:37 +0100
    message:
      Updated Eig2DOS, now it is more consistent with the gnubands.f90 file
      
      Changed:
      -m => -e (makes more sense that small e is lower energy bound as used in gnubands)
      -M => -E (makes more sense that small e is lower energy bound as used in gnubands)
        (note that -m and -M are still workable)
      the old -e is not used anymore, however, if -d (debug) is enabled it works the same.
      -F is now equivalent to -f (as -F is used in gnubands).
      
      It now also checks whether the supplied KP file exists.
------------------------------------------------------------
revno: 684 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-02-21 08:39:26 +0100
message:
  Merged 4.0 r519
    ------------------------------------------------------------
    revno: 483.3.33
    fixes bug: https://launchpad.net/bugs/1666428
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Tue 2017-02-21 08:36:32 +0100
    message:
      Forced ParallelOverK to false if non-collinear spin
      
      Now Diag.ParallelOverK is forced to .false. if non-collinear
      spin is used.
      
      This fixes lp:1666428
------------------------------------------------------------
revno: 683 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-02-20 15:37:39 +0100
message:
  Merged 4.0 r518
    ------------------------------------------------------------
    revno: 483.3.32
    fixes bug: https://launchpad.net/bugs/1666219
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Mon 2017-02-20 15:34:22 +0100
    message:
      Fixed averaging of the electri-field energy contribution with GridCellSampling
      
      The energy from the external electric field was not added. It does not 
      matter for a true electric field, however when a dipole correction is
      in place the electric field may vary slightly and introduce corrections
      to the energy. This is now fixed.
      
      This fixes lp:1666219
------------------------------------------------------------
revno: 682
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-02-20 12:03:43 +0100
message:
  Added error-messages from lua
  
  Now lua-runs are fully compatible and will kill siesta if something
  is wrong.
------------------------------------------------------------
revno: 681 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-02-20 10:02:08 +0100
message:
  Merged 4.0 r517
    ------------------------------------------------------------
    revno: 483.3.31
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Sun 2017-02-19 20:26:15 +0100
    message:
      Memory leak fixed in spher_harm.f
      
      A memory leak was discovered using valgrind:
        valgrind --track-origins=yes --leak-check=full siesta
      
      A pointer array was nullified and re-allocated in certain cases
------------------------------------------------------------
revno: 680
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-02-20 10:01:29 +0100
message:
  Fixed memory leaks in parse.F90 and fdf.F90
  
  A memory leak when parsing lists, and one when reading in from
  %include files were detected and fixed. (thanks valgrind)
    valgrind --track-origins=yes --leak-check=full
  is really helpful.
------------------------------------------------------------
revno: 679
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-02-20 09:46:20 +0100
message:
  Fixed memory leaks in fdict, and transiesta related routines
  
  Several memory leaks was detected using valgrind, nearly all
  have been fixed.
  
  Currently, there is still a memory leak regarding the dictionary
  when concatenating. However, it is 2 bytes. I will amend a fix for this
  in a later revision (track fdict on github for when the fix will be
  available).
------------------------------------------------------------
revno: 678
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-02-17 22:45:50 +0100
message:
  Added Lua-error messages
  
  Now siesta will die, if Lua has an error.
  This prohibits running loose.
------------------------------------------------------------
revno: 677 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-02-17 14:28:06 +0100
message:
  Merged 4.0 r516
    ------------------------------------------------------------
    revno: 483.3.30
    fixes bug: https://launchpad.net/bugs/1665294
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Fri 2017-02-17 14:17:03 +0100
    message:
      Work around reshape in mesh3d for SiestaXC
      
      This fixes: lp:1665294
      
      Instead of doing reshape, we implement direct loops with
      an interface for copying, and one for adding.
      This should limit the heap memory consumption.
      
      I have tested this on 10 of the tests in the test directory,
      with no changes (however, only on 2 cores).
      Before releasing 4.0.1 we should rerun all tests.
------------------------------------------------------------
revno: 676 [merge]
fixes bug: https://launchpad.net/bugs/1656273
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Fri 2017-02-17 12:15:11 +0100
message:
  Merge 4.0-515 (Bader fix)
    ------------------------------------------------------------
    revno: 483.3.29 [merge]
    fixes bug: https://launchpad.net/bugs/1656273
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.0
    timestamp: Fri 2017-02-17 11:12:00 +0100
    message:
      Fix bug #1656273: Inappropriate model core charges for Bader analysis
      
      Use always a gaussian-like model function to simulate the charge of
      the core electrons that is added to the pseudo charge for Bader
      analysis. The previous method, based on re-scaling chlocal, could
      sometimes introduce spurious local maxima in the total charge density
      that confuse the Bader algorithm.
      
      (Thanks to Seyed Mohammad Tabatabaei for reporting the issue)
      
      Also, add a new option 'Analyze.Charge.Density.Only', with which the
      program generates charge density files and computes partial atomic
      charges (Hirshfeld, Voronoi, Bader) from the information in the input
      density matrix, and stops.  This is useful to analyze the properties
      of the charge density without a diagonalization step (just with a
      pre-existing density-matrix), and with a user-selectable mesh cutoff.
        ------------------------------------------------------------
        revno: 483.8.3
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0-bader
        timestamp: Mon 2017-01-23 17:29:14 +0100
        message:
          Add option to analyze charge density and stop
        ------------------------------------------------------------
        revno: 483.8.2
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0-bader
        timestamp: Mon 2017-01-23 17:18:35 +0100
        message:
          Put fake core charge on hydrogens
        ------------------------------------------------------------
        revno: 483.8.1
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0-bader
        timestamp: Mon 2017-01-23 15:14:53 +0100
        message:
          New algorithm. No hydrogens
------------------------------------------------------------
revno: 675
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-02-14 09:24:03 +0100
message:
  Bugfix for 2-electrode calculations with transport along 2nd axis
  
  The Vha fix was wrongly calculated.
  Also, added printout of unit for H tolerance in TS.
------------------------------------------------------------
revno: 674
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-02-08 20:44:28 +0100
message:
  Change of mix_scf_first based on DM input
  
  Based on a couple of cases where the DM would converge but would
  have some memory of the initial (previous) DM, we have decided to
  only allow mixing the first SCF step IFF the DM is filled with
  atomic data, or if the read in DM has a different charge than it
  is supposed to.
  This should yield a better converged final DM and thus, forces.
------------------------------------------------------------
revno: 673
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2017-02-06 19:49:41 +0100
message:
  Added systemlabel to lua handles
  
  Sadly the string does not allow pass by reference, so
  in case the dictionary is deleted it should nullify non-char
  elements. Good thing for now is that the siesta-dicts
  are static.
------------------------------------------------------------
revno: 672
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Sun 2017-02-05 21:15:55 +0100
message:
  Clarified mixing step when linear mixing is started
  
  The mixing algorithm behaved correctly when having a linear
  mixer, however it erroneously ran the accumulation step even
  if the # of saved steps was 0. This has now been fixed.
------------------------------------------------------------
revno: 671 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-02-03 11:38:11 +0100
message:
  Merged 4.0 r513-514
    ------------------------------------------------------------
    revno: 483.3.28
    fixes bug: https://launchpad.net/bugs/1661562
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Fri 2017-02-03 11:31:06 +0100
    message:
      Added check for space in SystemLabel, fixes lp:1661562
      
      Now SIESTA dies if the systemlabel has a space in it.
    ------------------------------------------------------------
    revno: 483.3.27
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Thu 2017-02-02 12:01:48 +0100
    message:
      Differences between tbtrans and tbtrans_rep
      
      This fixes some differences reported between the
      tbtrans and tbtrans_rep codes.
      Essentially the difference was due to the integration points
      which were not distributed equivalently in the two examples.
      Now the contours are equivalent. There are still differences
      but those may be "ironed" out by increasing the number of
      integration points. So these are merely numerical artefacts.
      
      Secondly, the tbtrans_rep output printed energies in eV but
      the DOS was in 1/Ry, this is now fixed. Although it should not
      matter because it is the relative values that are important.
------------------------------------------------------------
revno: 670
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-02-03 10:47:57 +0100
message:
  Updated release.sh script in Docs
  
  Now there are more information on how to create a release.
------------------------------------------------------------
revno: 669
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-02-03 10:22:15 +0100
message:
  Fixed printout of suggested k-point sampling for electrode
  
  The suggested k-point sampling for electrodes was not enforcing
  the high k-point sampling in the semi-infinite direction.
------------------------------------------------------------
revno: 668
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-02-03 09:48:49 +0100
message:
  Fixes propagation calculation of the T.Out quantity
  
  The calculation of Tr[G.Gamma] using the propagation method
  was erroneous. This has been fixed (checked against the column
  spectral calculation, yay for two methods).
  
  Allowed dipole corrections in 1-electrode calculations
  because they will most likely be slabs and never an applied
  field. Hence the dipole correction may be needed along the
  semi-infinite direction.
  
  Updated tbtrans documentation to indicate what files are generated
  from which options. Added explanation of the aggregate transmission
  value.
------------------------------------------------------------
revno: 667
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2017-02-02 16:36:51 +0100
message:
  Added even more variables to the siesta_dictionaries
  
  This enables more communication with flos
------------------------------------------------------------
revno: 666
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-02-01 20:35:30 +0100
message:
  Changed default of WriteH to false
  
  Now siesta does not write out these files:
    H_DMGEN/H_MIXED
  They are mainly intended for testing use and not explicitly
  usable for regular users.
  
  See discussion here:
  https://code.launchpad.net/~nickpapior/siesta/siesta-forces-cleanup/+merge/315621
  
  Also updated documentation regarding these aspects.
------------------------------------------------------------
revno: 665
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-02-01 13:39:31 +0100
message:
  Almost finalized the flook interoperability
  
  Added documentation of the Lua scripting capability.
  In the documentation I have added a link to the flos library
  which already implements a few enhancements over the previous things.
  
  Added a new state in Lua, INIT_MD which is required to be able to
  do MeshCutoff convergences, this required the mesh cut-off to be retrieved
  from setup_H0.
  
  Added target attribute to the siesta-dictionary to ensure they are passed by
  reference.
  
  Added Mesh.Cutoff.Minimum and Mesh.Cutoff.Used.
  
  Moved the SCF_LOOP state to be just after mixing has been performed.
  
  Added the new states to the h2o_lua example.
------------------------------------------------------------
revno: 664 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-01-31 09:43:09 +0100
message:
  Merged 4.0 r512
    ------------------------------------------------------------
    revno: 483.3.26
    fixes bug: https://launchpad.net/bugs/1660553
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Tue 2017-01-31 09:31:37 +0100
    message:
      Changed a touch statement to prevent certain crashes
      
      Now the creation of the 0_NORMAL_EXIT file is made in
      pure fortran which should prohibit certain failures.
      This should fix: lp:1660553
------------------------------------------------------------
revno: 663
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-01-31 09:39:47 +0100
message:
  Updated siesta_dicts options for interacting with mesh
  
  Now all Grid.* has been updated to Mesh.*. In additon
  the MeshCutoff is now Mesh.Cutoff.
  
  Also added the k-point sampling to enables this in Lua
  calls.
------------------------------------------------------------
revno: 662
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-01-27 19:03:40 +0100
message:
  Fixed siesta dictionary for the flook interaction
  
  Now the initial and final movements can be accessible
  with:
  
     MD.Steps.First
     MD.Steps.Last
------------------------------------------------------------
revno: 661
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2017-01-27 15:21:44 +0100
message:
  Fixed coordinate exchanges to LUA and added a bunch more
  
  In the LUA hook one now has access to the unit conversion
  table:
  
    siesta.Units
  
  which contains all the unit conversions used internally in
  siesta.
  
  Added all the tolerance variables to the siesta dictionaries
  for communicating with lua
  
  A bug was found for communicating the coordinates from siesta
  to lua. When a supercell calculation was performed the xa(:,1:na_s)
  was sent, while it should only be xa(:,1:na_u). This has been fixed.
  
  Minor fixes in the usage of the options in siesta_options and read_options
  The default variable was not really used, and has been removed.
------------------------------------------------------------
revno: 660
fixes bug: https://launchpad.net/bugs/1646118
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2017-01-26 10:30:17 +0100
message:
  Made transiesta and tbtrans quit if the transfer matrix is 0
  
  If the user supplies an electrode where the transfer matrix is 0
  transiesta and tbtrans will now die, regardless of whether the user
  wants this.
  In fact, we could allow this by treating it as a molecular end, however
  it will then not be a reservoir.
  This sanity check should prevent users from doing wrong calculations.
  
  Also fixed print-out of electrode names if options are inconsistent in
  m_ts_electype.
------------------------------------------------------------
revno: 659
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2017-01-26 10:11:21 +0100
message:
  Updated documentation fixes lp:1646566
  
  Now it is clear how the initial spin-configuration is
  applied.
------------------------------------------------------------
revno: 658
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2017-01-26 08:26:19 +0100
message:
  Added more energies to the siesta-dictionary
  
  They are now available in the LUA calls as well.
------------------------------------------------------------
revno: 657
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2017-01-26 08:07:35 +0100
message:
  In lua md we now allow cell relaxations
  
  When doing LUA MD these variables are now available:
   MD.Relax.CellOnly
   MD.Relax.Cell
  which may be used to identify how the relaxation of the
  cell is requested.
  
  If one sets the cell to 0 in the LUA code siesta will
  now automatically calculate a new cell-size.
  
  Added write-out of the XV file in LUA-MD.
------------------------------------------------------------
revno: 656
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-01-25 22:30:25 +0100
message:
  Fixed displacement vector for elec-hartree plane
  
  When the electrode plane could not find any points inside
  the unit-cell a displacement vector is printed to help
  the user moving all atoms. The vector printed could in certain
  cases be wrong.
  This is now fixed.
------------------------------------------------------------
revno: 655 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-01-25 19:45:49 +0100
message:
  Merged 4.0 r511
    ------------------------------------------------------------
    revno: 483.3.25
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Wed 2017-01-25 19:38:03 +0100
    message:
      Ensured the transport points are using the mid-rule
      
      Previously it was the left rule which is not optimal.
------------------------------------------------------------
revno: 654
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-01-25 12:59:37 +0100
message:
  Fixed tbtrans calculation of polarized calculations without TBT.Spin
  
  I had mistakenly pointed to an empty pointer in case of the second spin
  channel when doing polarized calculations.
  Now this is fixed.
------------------------------------------------------------
revno: 653 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-01-25 11:42:39 +0100
message:
  Merged 4.0 r510
  
  This merge is a no-op, the fix was already applied (erronously
  by me).
    ------------------------------------------------------------
    revno: 483.3.24
    fixes bug: https://launchpad.net/bugs/1658518
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Wed 2017-01-25 11:40:33 +0100
    message:
      Fixed bug related to PGI compiler
      
      A list of derived type was public, whereas the derived type was
      private. This is not allowed.
      
      Fixes lp:1658518
------------------------------------------------------------
revno: 652
fixes bug: https://launchpad.net/bugs/1658518
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-01-25 10:50:50 +0100
message:
  Fixed bug related to PGI compiler
  
  A list of derived type was public, whereas the derived type was
  private. This is not allowed.
  
  Fixes lp:1658518
------------------------------------------------------------
revno: 651
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-01-25 10:42:41 +0100
message:
  Fixed hartree plane with 1 electrode calculations
  
  Now transiesta allows hartree-plane for 1 electrode calculations
------------------------------------------------------------
revno: 650
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-01-25 09:35:39 +0100
message:
  Allowed tselecs.sh to create input for 1 electrode (never a bias)
------------------------------------------------------------
revno: 649
fixes bug: https://launchpad.net/bugs/1658520
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-01-24 19:43:31 +0100
message:
  Fixed g95 compilation, fixes r632 and lp:1658520
  
  Apparently g95 does not allow intrinsic interfaces with
  optional arguments named the same as the argument in the intrinsic
  interface:
     size(..., dim)
  where dim is an optional argument in the calling routine is not 
  allowed. Basic work-around is to do:
     ldim = dim
     size(..., ldim)
  and it works.
------------------------------------------------------------
revno: 648
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2017-01-24 19:37:15 +0100
message:
  Updated dictionaries which may be passed to lua
  
  The flook dictionaries have been updated. Now one
  can also pass back and forth the stress tensor.
  TODO: fix the problem of changing the cell-vectors
  such that one can do external cell-relaxations.
------------------------------------------------------------
revno: 647 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2017-01-19 07:45:43 +0100
message:
  Merged 4.0 r509
    ------------------------------------------------------------
    revno: 483.3.23
    fixes bug: https://launchpad.net/bugs/1657584
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Thu 2017-01-19 07:44:08 +0100
    message:
      Fixed checking the correct reals in ProjectedDensityOfStates
      
      This is necessary as the fdf_bvalues where not differentiating 
      between reals and integers. However, there is a specific
      integer read after reals which forces the reals to be read as reals.
      
      This fixes lp:1657584
------------------------------------------------------------
revno: 646
fixes bug: https://launchpad.net/bugs/1657484
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-01-18 17:02:57 +0100
message:
  Fixed OMP statement when transfering to F90
  
  Forgot an ampersand for contiunation line,
  
  fixes lp:1657484
------------------------------------------------------------
revno: 645
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-01-18 11:26:51 +0100
message:
  Moved normalize_DM.F to normalize_DM.F90
  
  Updated to fortran 90 for the normalize_DM code.
------------------------------------------------------------
revno: 644
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-01-18 11:18:19 +0100
message:
  Fixed a bug in normalize_DM
  
  Since the SO merge the normalize_DM has only normalized the
  first 4 components. Since r632 it only normalized the
  first 2.
  
  Now everything is normalized.
------------------------------------------------------------
revno: 643
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-01-18 09:18:31 +0100
message:
  Changed maxk to nkpnt and implemented spin-type in siesta_init
  
  The maxk variable was dubious and not consistent throughout the 
  code. Now we have removed maxk to only rely on the kpoint_grid
  nkpnt.
------------------------------------------------------------
revno: 642
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2017-01-18 08:39:04 +0100
message:
  Fixed initial spin printout
  
  The size of the DM matrix was not correctly estimated.
  Now it loops over all orbitals as it should.
------------------------------------------------------------
revno: 641
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2016-12-29 16:45:19 +0100
message:
  Updated Makefile depedencies
------------------------------------------------------------
revno: 640
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2016-12-29 11:36:10 +0100
message:
  Updated citation for latest transiesta article
------------------------------------------------------------
revno: 639
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2016-12-29 11:12:45 +0100
message:
  Updated shipped blas and lapack to 3.7.0
  
  Fixed a few small bugs for compatibility in the script
  that creates the lapack/blas sources.
------------------------------------------------------------
revno: 638
fixes bug: https://launchpad.net/bugs/1652548
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-12-27 12:08:17 +0100
message:
  Bug in restructdSpData2D due to no interface
  
  In the recent merge r632 there was left out an interface for
  the subroutine. This meant that the optional flag was never
  really optional, but set to a non-initialized integer.
  The fix is to wrap the routine in a module.
  
  Fixes: lp:1652548
------------------------------------------------------------
revno: 637
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2016-12-22 09:20:08 +0100
message:
  Added developer version of manual
  
  The developer version of the manual should only be build
  by persons interested in further extending the siesta code
  and wishes to understand the data-structures and internals
  of siesta more intimately.
  
  Currently there are no additions to the developer version.
------------------------------------------------------------
revno: 636
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2016-12-21 12:21:28 +0100
message:
  Fixed bugs in custom settings for the mixer
  
  Fixed all known bugs in the mixer routines
------------------------------------------------------------
revno: 635
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-12-20 10:09:39 +0100
message:
  Fixed tbtrans documentation about hybrid parallel
  
  The mpirun command was wrong
------------------------------------------------------------
revno: 634
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2016-12-16 15:31:45 +0100
message:
  Merged tbtrans fixes and documentation update
  
  This fixes lp:1649774
------------------------------------------------------------
revno: 633 [merge]
fixes bug: https://launchpad.net/bugs/1649774
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2016-12-14 11:20:15 +0100
message:
  Merged tbtrans fixes and documentation update
  
  This fixes lp:1649774
    ------------------------------------------------------------
    revno: 632.1.3
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-tbt
    timestamp: Wed 2016-12-14 11:19:06 +0100
    message:
      Updated manual for tbtrans
    ------------------------------------------------------------
    revno: 632.1.2
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-tbt
    timestamp: Wed 2016-12-14 11:00:44 +0100
    message:
      Added quick-sort algorithm
      
      - The qsort implemented by Grima forced one to accept
        the permutation table (which is not always wanted).
        I have added a quick-sort to the intrinsic_missing
        module.
        Probably this should be changed to the smoothsort algorithm
        which works really well with partially sorted arrays.
      
      - Fix for comparison of the electrode name in the pivoting
        algorithm (lcase was not enforced).
      
      - Message clean-up in tbtrans
    ------------------------------------------------------------
    revno: 632.1.1
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-tbt
    timestamp: Wed 2016-12-14 08:06:15 +0100
    message:
      Fixed fan/front for ts-pivoting
      
      - The fan/front method of pivoting was not working as expected
        and could not be used with one electrode.
        This has now been leviated such that the user has full control.
      
      - For large systems (>100000 orbitals) the pivoting connectivity graph
        for the electrodes is rather slow because of the sequential progress
        of the sparsity pattern.
        I have tried to fix some of the issues related to the slow algorithms
        used.
      
      - A memory-leak in m_region has been fixed (only for serial)
      
      - m_region has been overhauled with changes related to array
        assignments etc, they typically introduce an unnecessary
        temporary array in most cases and should be avoided.
        In particular has rgn_sp_connect been improved. It is now
        5% faster.
      
      - Cleaned up tbtrans tbt_regions for more clarity. Now tbtrans
        also prints out the used pivoting algorithm for the electrode connectivity
        graphs.
------------------------------------------------------------
revno: 632 [merge]
fixes bug: https://launchpad.net/bugs/1645388
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-12-13 14:59:33 +0100
message:
  Merged new initialization routines for new_DM
  
  This clarifies the structure of the new_dm routine by
  splitting the init_DM routine into a "read" and an
  "atomic" init routine.
  In case we read a DM siesta now allows reading a different
  spin structure and does automatic extrapolation.
  
  This partially fixes lp:1645388
    ------------------------------------------------------------
    revno: 631.1.5
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-DM-init
    timestamp: Tue 2016-12-13 14:44:31 +0100
    message:
      Updated manual
    ------------------------------------------------------------
    revno: 631.1.4
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-DM-init
    timestamp: Mon 2016-12-12 07:54:23 +0100
    message:
      Made final spin-printout equivalent to the initial spin-printout
      
      This should clarify any differences between the two.
    ------------------------------------------------------------
    revno: 631.1.3
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-DM-init
    timestamp: Sun 2016-12-11 18:12:43 +0100
    message:
      Fixed spin-print-out for initial spin-configuration
      
      Updated documentation to reflect the reading of a DM with
      different spin-order.
    ------------------------------------------------------------
    revno: 631.1.2
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-DM-init
    timestamp: Fri 2016-12-09 11:26:17 +0100
    message:
      Restructured new_DM for easier changes
      
      The m_new_DM routine has recieved an overhaul.
      The initialization routines are re-implemented
      and tested with the tests in the test directories.
       fe_noncollinear and transiesta ts_au
      There is no logic change in this commit.
      Also tested with OpenMP.
    ------------------------------------------------------------
    revno: 631.1.1
    fixes bug: https://launchpad.net/bugs/1645388
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-DM-init
    timestamp: Thu 2016-12-08 12:45:49 +0100
    message:
      Enabled reading of DM with different spin-components
      
      This is handy for doing large scale calculations with
      multiple spins. First start by calculating the non-polarized
      case, then increase spin to polarized, then increase to
      non-collinear, and finally to spin-orbit. This has been
      tested on a very simple system to check it works.
       siesta -fdf Spin:none run.fdf
       siesta -fdf Spin:polarized run.fdf
       ...
      will now work.
      This partially fixes lp:1645388.
      
      The reading/writing of DM has changed to not take into account the
      number of spin-components. Thus checks for spin should be taken care
      of after reading DM (for TS and S).
------------------------------------------------------------
revno: 631
fixes bug: https://launchpad.net/bugs/1648053
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2016-12-07 19:48:14 +0100
message:
  Fixed bug when printing initial spin-difference
  
  This bug was introduced in r590.
------------------------------------------------------------
revno: 630 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2016-12-05 14:17:32 +0100
message:
  Merged 4.0-r508, reverted merge (no changes required)
    ------------------------------------------------------------
    revno: 483.3.22
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Mon 2016-12-05 14:15:01 +0100
    message:
      Updated documentation compilation
      
      The documentation compilation required additional
      steps to converge the resulting index.
------------------------------------------------------------
revno: 629
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2016-12-05 11:54:02 +0100
message:
  Fixed non-collinear and spin-orbit PDOS in serial
  
  Partially fixes lp:1645749.
  
  There was a factor of 2 mixing to print the magnetization,
  this is now fixed both for PDOS output and XML output.
------------------------------------------------------------
revno: 628
fixes bug: https://launchpad.net/bugs/1647073
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2016-12-05 09:10:22 +0100
message:
  Removed FoX format specifier when it can not be used
  
  Fixes lp:1647073.
  
  Also limited number of fields for single precision
  numbers by default in the xml output routines.
  A single precision number only has 7 significant
  digits, so we limit the output to that amount,
  instead of the previous 12 digits.
------------------------------------------------------------
revno: 627
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-11-29 09:43:56 +0100
message:
  Updated the way the date is printed in the manual
  
  Now the date tag is automaticly updated when the
  release.sh script is runned. This makes it easier
  to track.
  Also, one should change the \date macro before
  the begin{document} to change the date.
------------------------------------------------------------
revno: 626
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-11-29 09:31:35 +0100
message:
  Stepped the manual version for 4.1-b3
------------------------------------------------------------
revno: 625
tags: v4.1-b2
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2016-11-28 10:01:28 +0100
message:
  Updated manual for tbtrans and transiesta
  
  Added more documentation regarding PDOS which is oftenly requested
------------------------------------------------------------
revno: 624 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Sun 2016-11-27 21:03:03 +0100
message:
  Merged 4.0 r507
  
  Added print-outs of the difference from the averaged forces
  to figure out if it is really important or not.
    ------------------------------------------------------------
    revno: 483.3.21 [merge]
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Sun 2016-11-27 20:55:12 +0100
    message:
      Merged cell-sampling print-out
      
      Added print-outs of the difference from the averaged forces
      to figure out if it is really important or not.
        ------------------------------------------------------------
        revno: 483.7.2
        committer: Nick Papior <nickpapior@gmail.com>
        branch nick: 4.0-cell-sampling
        timestamp: Sat 2016-11-26 09:11:06 +0100
        message:
          Moved calculation of the displacements out grdsam
          
          The grdsam displacements where not optimally calculated.
        ------------------------------------------------------------
        revno: 483.7.1
        committer: Nick Papior <nickpapior@gmail.com>
        branch nick: 4.0-cell-sampling
        timestamp: Fri 2016-11-25 19:48:56 +0100
        message:
          Added print-out of maximum force difference in grdsam
          
          This enables one to more easily figure out if the grid
          sampling is required or not.
          siesta now also prints the standard-deviation.
          We have found that in certain systems (a Cu-Ni slab-alloy)
          the forces were highly unsymmetric (where they should have
          been symmetric). The solution was to grid-cell-sample
          along the normal vector to the surface. This helped
          alot and fixed the problem, however, before doing a
          fine-mesh sampling it can be nice to get a feel for it
          using very few points.
------------------------------------------------------------
revno: 623 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2016-11-25 19:04:25 +0100
message:
  Merge LDA+U fix, fixes lp:1643589
  
  This fixes a problem with the LDA+U calculations
  if using non-standard options.
    ------------------------------------------------------------
    revno: 484.1.18
    committer: Javier Junquera <javier.junquera@unican.es>
    branch nick: LDAU
    timestamp: Fri 2016-11-25 15:00:38 +0100
    message:
      Bug in the generation of the LDA+U projectors when the rc is explicitly introduced is fixed
------------------------------------------------------------
revno: 622
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Thu 2016-11-24 15:00:33 +0100
message:
  Add two more files to Denchar output in 3D mode
  
  For spin-polarized calculations, Denchar now outputs
  two more files:
  
  SystemLabel.RHO.cube:         Total charge density (sum over spins)
  SystemLabel.UPminusDOWN.cube: UP-DOWN spin difference
------------------------------------------------------------
revno: 621
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2016-11-24 11:06:28 +0100
message:
  Updated documentation of tbtrans
  
  Slight errors were in the tbtrans documentation and
  more has been fixed.
------------------------------------------------------------
revno: 620
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-11-22 09:38:33 +0100
message:
  Forced the suffixes in the makefile
  
  - Having the SUFFIXES explicitly in the Makefile will make
    it easier to create the arch.make files.
    Essentially now they only need to define the compiler, 
    compiler flags, and the compiler rules.
------------------------------------------------------------
revno: 619
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2016-11-17 08:10:22 +0100
message:
  The naming scheme for the tolerance parameters where illogical
  
  - They have now been updated and should be the new defaults.
------------------------------------------------------------
revno: 618
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2016-11-16 17:42:04 +0100
message:
  Fixed code from r616 where an s was missing in a variable
  
  - Updated makefiles
------------------------------------------------------------
revno: 617 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-11-15 11:17:18 +0100
message:
  Merge 4.0, r506 with VCA fixes
    ------------------------------------------------------------
    revno: 483.3.20
    fixes bug: https://launchpad.net/bugs/1633039
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Tue 2016-11-15 11:15:49 +0100
    message:
      Fixes the VCA mixing of pseudos, lp:1633039
      
      A simple extension of the grid is made by copying
      the last value if the interpolated grid is too small.
------------------------------------------------------------
revno: 616 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-11-15 11:05:33 +0100
message:
  Merge 4.1-fixes, fixes bugs in transiesta
  
  1) 1639779
  2) 1639812
  3) 1641573
    ------------------------------------------------------------
    revno: 614.1.3
    fixes bug: https://launchpad.net/bugs/1641573
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-fixes
    timestamp: Mon 2016-11-14 15:13:47 +0100
    message:
      Allowed slab-dipole correction for N-electrodes, lp:1641573
      
      - There were many cases where the slab dipole correction
        could not be applied.
      
        We have now "fixed" this by generally allowing the slab
        dipole correction in _any_ setup.
        However, there are shortcomings for very complicated
        N-electrode setups.
      
        Regardless a warning message is written telling the
        user to be careful!
      
        In fact for bilayer and twisted bilayer calculations
        with different bias on the inter-layers the slab
        dipole correction probably SHOULD be applied.
      
      - Removed the ts_tdir variable which was not used for
        anything.
        The ts_tidx variable is the important thing.
      
      - Removed a couple of unused variables in the dhscf code.
    ------------------------------------------------------------
    revno: 614.1.2
    fixes bug: https://launchpad.net/bugs/1639812
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-fixes
    timestamp: Mon 2016-11-14 12:45:57 +0100
    message:
      Fixed reading a grid in serial, lp:1639812
      
      - The custom Poisson solution was not working
        in serial due to the count not being specified.
        All routines regarding the voltage and hartree
        fix have been updated with more meaningful input.
    ------------------------------------------------------------
    revno: 614.1.1
    fixes bug: https://launchpad.net/bugs/1639779
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-fixes
    timestamp: Mon 2016-11-14 10:07:56 +0100
    message:
      Enabled check of connectivity with used-atoms, lp:1639779
      
      - When the user requests a subset of atoms in the electrodes
        we need to check the reduced sparsity pattern.
      
        This is now fixed.
------------------------------------------------------------
revno: 615
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-11-15 10:37:58 +0100
message:
  Added more documentation on using the manual
  
  - Enabled dependency list for easy dependency look-ups
    in fdfentry blocks.
  
  - Added dependencies on the SCF.Tolerance.* flags.
------------------------------------------------------------
revno: 614
fixes bug: https://launchpad.net/bugs/1640813
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2016-11-14 08:57:21 +0100
message:
  Fix tree-timer with TS lp:1640813
  
  - The tree-timer only allows timer-reports on
    direct children of the current active section.
    This is not possible with the TS section because
    it is "hidden" under the IterSCF routine.
    Thus for tree-timers we now simply print the
    IterSCF tree which holds the TS section.
------------------------------------------------------------
revno: 613 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2016-11-11 15:23:03 +0100
message:
  Merge of MD-constraint fixes
    ------------------------------------------------------------
    revno: 612.1.1
    fixes bug: https://launchpad.net/bugs/1640137
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-md-constraints
    timestamp: Tue 2016-11-08 19:05:43 +0100
    message:
      Constraints with MD was not working, fixes lp:1640137
      
      - The initialization of the fixed routine was done right
        after the initialization of the initial velocities.
        This meant that the constraints was not applied to the
        velocities.
      
      - Further, this was also the reason why I could not get the
        MD constriants to work previously. Hence, many of the
        constraints now work with MD and with directional constraint.
------------------------------------------------------------
revno: 612
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2016-11-07 17:15:13 +0100
message:
  Error in r611, the referenced variable ts_tidx should be >0
  
  - Fixed the commit so that it correctly interprets the flags.
------------------------------------------------------------
revno: 611
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2016-11-07 15:38:55 +0100
message:
  Fixed transiesta documentation for the Poisson solution
  
  - The documentation was not documenting the input file
    option for the poisson fix.
  
  - Removed redundant flag TS.Poisson.Position
    which is now encapsulated in TS.Poisson.
------------------------------------------------------------
revno: 610
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2016-11-07 08:34:42 +0100
message:
  Fixed tbtrans documentation and the makefile
  
  - The tbtrans documentation had some inconsistencies for
    certain flags.
  
  - The makefile for the documentation was missing one more
    compilation step to update the index position.
------------------------------------------------------------
revno: 609 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2016-11-04 15:38:22 +0100
message:
  Merged fixes for tbtrans
    ------------------------------------------------------------
    revno: 607.1.1
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1
    timestamp: Fri 2016-11-04 12:41:59 +0100
    message:
      Fixed compilation of tbtrans with g95
      
      - A few mistakes had sneaked in the compilation
        with g95.
      
        Now interfaces and intents are consistent with the
        compilation with g95.
------------------------------------------------------------
revno: 608 [merge]
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Fri 2016-11-04 15:26:44 +0100
message:
  Some optimizations in nlefsm
  
  Routine nlefsm stands out as a bottleneck for parallelization
  efficiency, since the loop over KB projectors is "global", and a
  substantial amount of work, proportional to the size of the system,
  has to be done by all MPI processes.  The initial steps in nlefsm
  optimization have reduced the cpu weight of that loop by:
  
  - Pre-computation (in hsparse) of the atoms really involved in KB
    overlaps with the orbitals handled by the process.
  - Early exit from the loop after simpler tests
  - Other minor optimizations
    ------------------------------------------------------------
    revno: 587.1.4 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nl
    timestamp: Fri 2016-11-04 15:16:04 +0100
    message:
      Sync to 4.1-607
    ------------------------------------------------------------
    revno: 587.1.3 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nl
    timestamp: Fri 2016-11-04 15:10:50 +0100
    message:
      Add initialization and cosmetic fixes
      
      Even though a de-facto initialization was achieved by the
      call to 'superc' in 'state_init', the new array 'in_kb_orb_u_range'
      is now explicitly initialized in 'hsparse'.
      
      Cosmetic changes in 're_alloc' statements.
      
      (Thanks to Nick Papior)
        ------------------------------------------------------------
        revno: 587.2.1
        committer: Nick Papior <nickpapior@gmail.com>
        branch nick: 4.1-nl
        timestamp: Thu 2016-11-03 19:41:19 +0100
        message:
          Fixed allocation and initialization of new array
          
          - The re_alloc variable name was inconsistent
          
          - The initialization was based on orbitals but on
            a fixed variable which could, or could not make
            seg-faults due to out-of-bounds.
    ------------------------------------------------------------
    revno: 587.1.2
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nl
    timestamp: Fri 2016-11-04 11:57:20 +0100
    message:
      Check for floating species. Add simple counters
    ------------------------------------------------------------
    revno: 587.1.1
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nl
    timestamp: Mon 2016-10-10 17:22:12 +0200
    message:
      Optimized nlefsm
------------------------------------------------------------
revno: 607
fixes bug: https://launchpad.net/bugs/1638726
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2016-11-03 19:31:09 +0100
message:
  Fixed print-out chemical potentials and Volt, fixes lp:1638726
  
  - If the difference between the max and min of the
    chemical potentials and the applied bias is
    too large then the program (TS and TBT) will
    die.
    
------------------------------------------------------------
revno: 606 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2016-11-03 16:02:37 +0100
message:
  Merged manual fixes for a completely rewritten manual
  
  - Fixes T.Elecs.All => T.All
    and other variations thereof
    ------------------------------------------------------------
    revno: 603.1.19
    fixes bug: https://launchpad.net/bugs/1638815
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Thu 2016-11-03 12:35:17 +0100
    message:
      Fixed lp:1638815
      
      There was no abort if SCF.Mix was given an erroneous value.
    ------------------------------------------------------------
    revno: 603.1.18
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Wed 2016-11-02 20:43:47 +0100
    message:
      Fixed missing fdf keywords from textbf and wrong names
    ------------------------------------------------------------
    revno: 603.1.17
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Wed 2016-11-02 19:54:21 +0100
    message:
      Updated tbtrans documentation and keywords for Elecs.All => All
      
      This was inconsistent and the Elecs was superfluous information
      for the keyword. 
    ------------------------------------------------------------
    revno: 603.1.16
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Wed 2016-11-02 19:42:42 +0100
    message:
      Updated documentation about defaults in the chemical potentials
    ------------------------------------------------------------
    revno: 603.1.15
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Tue 2016-11-01 20:18:32 +0100
    message:
      Fixed wrong flag for nonodes
    ------------------------------------------------------------
    revno: 603.1.14
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Mon 2016-10-31 15:46:18 +0100
    message:
      Updated manual with Alberto changes [2]
    ------------------------------------------------------------
    revno: 603.1.13
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Mon 2016-10-31 12:06:37 +0100
    message:
      Updated manual with Alberto changes
    ------------------------------------------------------------
    revno: 603.1.12
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Fri 2016-10-28 09:01:40 +0200
    message:
      Updated manual for LDAU stuff
    ------------------------------------------------------------
    revno: 603.1.11
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Fri 2016-10-28 08:47:17 +0200
    message:
      Updated manual for MD stuff
    ------------------------------------------------------------
    revno: 603.1.10
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Thu 2016-10-27 17:56:22 +0200
    message:
      Updated release.sh and makefile for documents for easier releases
    ------------------------------------------------------------
    revno: 603.1.9
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Thu 2016-10-27 14:44:51 +0200
    message:
      Updated copyright notice in tbtrans documentation
      
      And stepped version in manual to b2
    ------------------------------------------------------------
    revno: 603.1.8
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Thu 2016-10-27 14:20:49 +0200
    message:
      Updated more manual entries for start of MD
    ------------------------------------------------------------
    revno: 603.1.7
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Thu 2016-10-27 14:09:16 +0200
    message:
      Updated more manual entries for Save options
    ------------------------------------------------------------
    revno: 603.1.6
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Thu 2016-10-27 14:01:18 +0200
    message:
      Updated more manual entries for W90
    ------------------------------------------------------------
    revno: 603.1.5
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Thu 2016-10-27 13:51:55 +0200
    message:
      Updated more manual entries for Optical options
    ------------------------------------------------------------
    revno: 603.1.4
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Thu 2016-10-27 10:34:08 +0200
    message:
      Updated more manual entries for ON stuff
    ------------------------------------------------------------
    revno: 603.1.3
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Thu 2016-10-27 10:22:56 +0200
    message:
      Updated more manual entries
    ------------------------------------------------------------
    revno: 603.1.2
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Wed 2016-10-26 22:11:26 +0200
    message:
      Fixed minor erroneous flags in the manual
    ------------------------------------------------------------
    revno: 603.1.1
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.1-manual
    timestamp: Wed 2016-10-26 22:04:36 +0200
    message:
      Updated manual to reflect new formatting
      
      - Updated many entries
      
      - Re-added the DM.History.Depth key in
        read_options.
      
      - Removed avoid_after_kick. It isn't used anymore
        and may be emulated using the more advanced scheme.
      
      - Changed name of FixSpin to Spin.Fix (backward compatibility
        maintained.
      
      - Enabled sysfile in manual to only print the file-ending with
        * (SystemLabel may be redundant in certain descriptive sections)
------------------------------------------------------------
revno: 605 [merge]
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Mon 2016-10-31 22:00:50 +0100
message:
  Include recent patchlogs from 4.0
  
  Some recent bugfixes and other changes were ported from 4.0 without a
  proper inclusion of the relevant patchlogs. This made it appear (e.g.,
  in 'bzr missing') as if the fixes had not been applied upstream.
  
  A merge followed by 'bzr revert .' includes the desired patchlogs without
  any more changes in the working directory.
  
  - Declare all variables
  - Fixes non-colinear band calculation, fixes lp:1636100
  - Fix bug 1625725 in 'nodes' basis-generation option
  - Did not allow user control of SlabDipoleCorrection, fixes lp:1630827
    ------------------------------------------------------------
    revno: 483.3.19
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.0
    timestamp: Mon 2016-10-31 14:12:24 +0100
    message:
      Declare all variables
      
      Some variables were not properly declared. This can
      cause errors if a compiler flag to catch implicit typing
      is used.
      
      Except in file Util/TBtrans/cdiag_local.F, all variables
      are now declared.
    ------------------------------------------------------------
    revno: 483.3.18
    fixes bug: https://launchpad.net/bugs/1636100
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Mon 2016-10-24 09:27:38 +0200
    message:
      Fixes non-colinear band calculation, fixes lp:1636100
      
      The interface call for diag2k was erroneous in non-colinear call.
    ------------------------------------------------------------
    revno: 483.3.17
    fixes bug: https://launchpad.net/bugs/1625725
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.0
    timestamp: Thu 2016-10-13 14:49:05 +0200
    message:
      Fix bug 1625725 in 'nodes' basis-generation option
      
      A bug was introduced in revno 436: the number of nodes and the
      principal quantum number was off by one.  It has now been fixed.
      
      Note however that the preferred way to generate basis sets in Siesta
      is the default 'split' scheme.
      
      (Thanks to Seungchul Kim for reporting the issue)
      
      
      
      
      	
    ------------------------------------------------------------
    revno: 483.3.16
    fixes bug: https://launchpad.net/bugs/1630827
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: 4.0
    timestamp: Thu 2016-10-06 09:25:28 +0200
    message:
      Did not allow user control of SlabDipoleCorrection, fixes lp:1630827
      
      For backwards compatibility it is nice to be able to turn off the 
      SlabDipolecorrection such that one can compare against older versions.
      This was a mistake.
------------------------------------------------------------
revno: 604
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Mon 2016-10-31 14:43:46 +0100
message:
  Declare most variables
  
  Some variables were not properly declared. This can cause errors if a
  compiler flag to catch implicit typing is used.
  
  Except in file fdict/iso_var_str.f90, all variables are now declared.
------------------------------------------------------------
revno: 603
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-10-25 12:36:33 +0200
message:
  Fixed cell constraints and the manual regarding this
  
  The cell constrainst for non-orthogonal cells is not
  really working. I have added checks for this in the
  code and now it will die if it cannot do what is requested.
  Simultaneously the cell-angle constraints only allows
  expansion of the spanning vectors. 
------------------------------------------------------------
revno: 602
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-10-25 09:05:36 +0200
message:
  Fix electrode plane determination if Bloch expansions are used
  
  In case Bloch expansion is used for only one electrode the Hartree
  plane was more or less fixed at the non-Bloch electrode.
  This has now been fixed.
  This should have no effects in the calculation.
------------------------------------------------------------
revno: 601
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-10-25 07:58:07 +0200
message:
  Fixed documentation with XML changes
------------------------------------------------------------
revno: 600
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2016-10-24 11:49:33 +0200
message:
  Fixed defaults for tbtrans and chemical potentials
  
  Now the defaults for tbtrans are so that:
   1. if there is no bias, there is no need to specify
   the chemical potentials.
   2. if there is a bias, the default is the transiesta
   default.
  
  This enables easier input for tight-binding calculations.
------------------------------------------------------------
revno: 599
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2016-10-21 14:30:21 +0200
message:
  Updated obj_setup.sh to not mention the configure script
  
  We had forgotten to remove the configure reference in the 
  obj_setup.sh file.
------------------------------------------------------------
revno: 598
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2016-10-21 13:59:25 +0200
message:
  Added gfortran.make and intel.make in Obj directory
  
  These are example arch.make files
------------------------------------------------------------
revno: 597
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2016-10-21 13:55:53 +0200
message:
  In FoX removal there was some changes that were not shipped to TS
  
  Bug fixes for compilation of TS using WXML only (no FoX)
  Now siesta and transiesta have the same link-lines
------------------------------------------------------------
revno: 596 [merge]
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Fri 2016-10-21 11:59:30 +0200
message:
  Implement CML calls using an upgraded Src/wxml library
  
  The generation of the CML file with the most important data from a run
  is now handled by an upgraded version of the existing code in Src/wxml
  (part of xmlf90, based on earlier work by Jon Wakelin and Toby White).
  
  The new code is now also used in pdos.F (which still contains a
  parallel xml thread to maintain compatibility with one of Andrei
  Postnikov's tools).
  
  This matches FoX's wxml functionality with a much smaller footprint, so
  the FoX code has been removed from the distribution.
    ------------------------------------------------------------
    revno: 589.1.12 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-cml
    timestamp: Fri 2016-10-21 11:19:10 +0200
    message:
      Incorporate Nick's changes to sizes in wxml
        ------------------------------------------------------------
        revno: 589.2.1
        committer: Nick Papior <nickpapior@gmail.com>
        branch nick: 4.1-cml
        timestamp: Thu 2016-10-20 21:24:56 +0200
        message:
          Bug fixed for long buffer writes in wxml
          
          - Sometimes if long strings are written an overflow
            would happen. This has been fixed by increasing the 
            buffer size.
          
          - Removed references to FoX in the missing makefile and 
            comment files (NOTICE.txt, for example)
    ------------------------------------------------------------
    revno: 589.1.11
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-cml
    timestamp: Thu 2016-10-20 14:47:06 +0200
    message:
      Add NOTES.cml file
    ------------------------------------------------------------
    revno: 589.1.10
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nofox
    timestamp: Wed 2016-10-19 16:23:41 +0200
    message:
      Trim k-point section
    ------------------------------------------------------------
    revno: 589.1.9
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nofox
    timestamp: Wed 2016-10-19 15:34:59 +0200
    message:
      Add cmlAddComment. Fix rows/columns bug
      
      The "property" routines had an inconsistent criterion for row/column
      identification. Now everything is in the Fortran convention, which
      matches the FoX criterion also.
      
      Forces, for example, are now clearly output in lines of 3 components.
      
      Removed mentions of xml.abort-on-error and xml.abort-on-warning in the
      manual.
    ------------------------------------------------------------
    revno: 589.1.8 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nofox
    timestamp: Wed 2016-10-19 12:34:20 +0200
    message:
      Sync to 4.1--594
    ------------------------------------------------------------
    revno: 589.1.7
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nofox
    timestamp: Fri 2016-10-14 15:57:19 +0200
    message:
      Remove FoX
    ------------------------------------------------------------
    revno: 589.1.6
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nofox
    timestamp: Fri 2016-10-14 15:23:08 +0200
    message:
      More cosmetics
    ------------------------------------------------------------
    revno: 589.1.5
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nofox
    timestamp: Fri 2016-10-14 15:13:54 +0200
    message:
      Complete functionality. Missing cosmetics
    ------------------------------------------------------------
    revno: 589.1.4
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nofox
    timestamp: Fri 2016-10-14 14:29:34 +0200
    message:
      Fixed namespace declarations, etc. ccViz works
    ------------------------------------------------------------
    revno: 589.1.3
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nofox
    timestamp: Fri 2016-10-14 12:20:03 +0200
    message:
      Fixed parameters/scalars
    ------------------------------------------------------------
    revno: 589.1.2
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nofox
    timestamp: Fri 2016-10-14 12:05:01 +0200
    message:
      Getting closer to spec
    ------------------------------------------------------------
    revno: 589.1.1
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-nofox
    timestamp: Thu 2016-10-13 18:49:33 +0200
    message:
      Compiles
------------------------------------------------------------
revno: 595
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2016-10-19 11:34:03 +0200
message:
  Enabled default chemical potentials if they are named equally
  
  This makes setting the default chemical potential more easy
  if one names the chemical potentials and electrodes by the
  same names.
  
  Furthermore, if there is only one chemical potential then
  that is ALWAYS selected.
------------------------------------------------------------
revno: 594
fixes bug: https://launchpad.net/bugs/1625725
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2016-10-19 09:39:07 +0200
message:
  Bug fix for PAO.BasisType node lp:1625725
------------------------------------------------------------
revno: 593
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2016-10-19 09:31:41 +0200
message:
  Removed all references to paste function (also utils)
  
  There was no need to have this function, trim is the equivalent
  function.
  
  All utilities have also been updated.
------------------------------------------------------------
revno: 592
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-10-18 18:07:59 +0200
message:
  Enabled list setting of the k-point sampling for tbtrans
  
  Also updated manual for tbtrans to reflect the TBT.Symmetry.TimeReversal
  flag which is needed for TBT.Current.Orb and k-point sampling.
------------------------------------------------------------
revno: 591
author: Ramon Cuadrado <ramon.cuadrado@cin2.es>
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2016-10-14 14:38:43 +0200
message:
  Updated manual with spin-orbit information
------------------------------------------------------------
revno: 590
fixes bugs: https://launchpad.net/bugs/1623415 https://launchpad.net/bugs/1623420
author: Ramon Cuadrado <ramon.cuadrado@cin2.es>
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2016-10-14 14:27:57 +0200
message:
  Fixes the spin-printout and calculation (NC and SO)
  
  - The sign in the initialization of the fourth component of the 
    Density Matrix when the Spin-Orbit term is included in the calculation
    has been changed to be consistent with the DM.InitDM in the fdf file. 
    The corresponding sobroutine is fill_dscf_from_atom_info within the 
    module m_new_dm. In addition, at the end of fill_dscf_from_atom_info 
    subroutine is called print_initial_spin() that currently prints out 
    the initial spin polarization. This has been changed and on whether 
    spin polarized or non-collinear/spin-orbit calculation is performed, 
    the output will be Q(1)-Q(2) in the first case and M_x, M_y and M_z 
    in the second.    
    
  - The calculation of the angles of the magnetization vector as a function 
    of q(1:4) in the subroutine spnvec by Mulliken population has been 
    reviewed when the number of spin components is four(non-collinear/spin-orbit). 
------------------------------------------------------------
revno: 589
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-10-11 21:38:17 +0200
message:
  Bug discovered when running linear-kick and MD 
  
  - The itteration counter for the mixing routines was never
    reset which meant that depending on the number of SCF siesta would
    crash in the next MD step.
    
    Thanks to R. Robles for the bug-report
  
  - Added print-out when resetting the history, and fixed
    debug read for the mixers.
------------------------------------------------------------
revno: 588
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2016-10-10 15:00:00 +0200
message:
  Enabled supercell bond-currents
  
  - The previous orbital currents were stored only in the unit-cell
    However, we now enable the full calculation of the supercell interactions.
    This is a minor change and results in a slightly larger sparse matrix.
    The sisl package has been updated to handle this as well.
  
  - Added Sp_sort in m_sparsity_handling which ensures that a sparse matrix
    is sorted.
  
  - Possibly fix for spin-transport calculations in tbtrans.
    The abstraction of only calculating one spin-component made the logic
    erroneous.
------------------------------------------------------------
revno: 587
fixes bug: https://launchpad.net/bugs/1630849
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2016-10-06 14:41:05 +0200
message:
  MD methods other than CG did not allow re-use of DM, fixes lp:1630849
  
  Now it defaults to at least 1 extrapolation.
------------------------------------------------------------
revno: 586
fixes bug: https://launchpad.net/bugs/1630827
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2016-10-06 09:26:34 +0200
message:
  Did not allow user control of SlabDipoleCorrection, fixes lp:1630827
  
  For backwards compatibility it is nice to be able to turn off the 
  SlabDipolecorrection such that one can compare against older versions.
  This was a mistake.
------------------------------------------------------------
revno: 585
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2016-10-05 09:25:53 +0200
message:
  Forgot to actually delete the configure files and other obsoleted files
  
  This commit should have gone together with r582
------------------------------------------------------------
revno: 584
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-10-04 11:39:32 +0200
message:
  Updated manual to reflect changes of configure
------------------------------------------------------------
revno: 583
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-10-04 11:31:12 +0200
message:
  Fixed m_mpi_utils for globalization of integer
  
  There was a missing transfer if MPI wasn't defined.
  Also added the missing arguments of `Comm`
------------------------------------------------------------
revno: 582
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-10-04 11:22:48 +0200
message:
  Removed unnecessary configure/arch-make stuff
  
  Removed all configure related stuff. This is now "obsoleted"
  until an expert tells us what to do.
  
  Moved sample arch.make files to the Obj directory. In this way
  the basic examples and documentations are where people will
  initially search for them.
  
  Removed deprecated lapack/blas sources. Now one should use the full
  sources in case the optimized libraries does not contain the needed
  functionality.
  
  Cleaned up Makefile.
  Specifically the rule for the sockets.c file was unnecessary as
  it was (almost) equal to the implicit rule of C-compilation.
  
  Removed folders:
    Src/Sys
    Src/Conf
    Src/m4
------------------------------------------------------------
revno: 581
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-10-04 08:45:36 +0200
message:
  Added citation for transiesta and pexsi
------------------------------------------------------------
revno: 580
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2016-09-28 21:20:28 +0200
message:
  Fixed print-out in m_region (nothing computational)
  
  - The last items was missing a comma-separation
------------------------------------------------------------
revno: 579
fixes bug: https://launchpad.net/bugs/1627041
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2016-09-28 09:23:17 +0200
message:
  Updated blas.f, lapack.f the documentation and Makefile, fixes 1627041
  
  - blas.f and lapack.f where updated to the latest LAPACK sources.
    There were some minor bugs.
  
  - The documentation of tbtrans was missing the pivot flag description.
  
  - The Makefile was not forwarding the INCFLAGS to FFLAGS in libfdict and
    libncdf which is necessary.
    This fixes: lp:1627041
------------------------------------------------------------
revno: 578
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Tue 2016-09-27 12:13:48 +0200
message:
  Write LDA+U projector information to .ldau_proj files
  
  For LDA+U calculations, the projector information was written to the
  .ion files in a form that made them unusable. Now, that information is
  written to files with names 'SpLabel'.ldau_proj, where 'Splabel' is
  the species label.
------------------------------------------------------------
revno: 577
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Tue 2016-09-27 11:31:30 +0200
message:
  Add third argument to reclat call in two routines
------------------------------------------------------------
revno: 576
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Fri 2016-09-16 14:25:04 +0200
message:
  Fix double import in mpi_siesta
------------------------------------------------------------
revno: 575 [merge]
fixes bug: https://launchpad.net/bugs/1619437
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Wed 2016-09-14 18:19:23 +0200
message:
  Changes to further standards compliance (merges 4.0--501)
  
  Brought about by the use of extra compiler checks, notably by g95 and
  the '-std=f2003 -fall-intrinsics' setting in gfortran.
  
  Apart from syntax and visibility issues, F2008 extensions
  ('contiguous' keyword), and non-standard declarations (such as
  "real*8") have been removed. Bounds specification in pointer
  assignment is in principle permitted by F2003, but are not yet
  implemented by all compilers.
  
  Also, the building of the MPI interfaces has been updated to properly
  include 8-byte integers.
  
  (Declarations in the code in Util are not fully updated yet)
    ------------------------------------------------------------
    revno: 574.1.4
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-ag
    timestamp: Wed 2016-09-14 12:57:36 +0200
    message:
      Remove obsolete hollerith constructs
    ------------------------------------------------------------
    revno: 574.1.3
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-ag
    timestamp: Wed 2016-09-14 11:35:16 +0200
    message:
      Fix minor syntax glitch and update PEXSI .html files
    ------------------------------------------------------------
    revno: 574.1.2
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-ag
    timestamp: Tue 2016-09-13 18:40:40 +0200
    message:
      Remove non-standard declarations
    ------------------------------------------------------------
    revno: 574.1.1 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-ag
    timestamp: Tue 2016-09-13 15:22:20 +0200
    message:
      Merge 4.0-501 and fix other vanilla g95 complaints
        ------------------------------------------------------------
        revno: 483.3.15 [merge]
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 4.0
        timestamp: Tue 2016-09-13 14:00:42 +0200
        message:
          Changes to further standards compliance
          
          Brought about by the use of extra compiler checks, notably by g95 and
          the '-std=f2003 -fall-intrinsics' setting in gfortran.
          
          Apart from syntax and visibility issues, non-standard declarations
          such as "real*8" have been removed.
          
          Also, the building of the MPI interfaces has been updated to properly
          include 8-byte integers.
          
          (Declarations in the code in Util are not fully updated yet)
          		
          
          	
            ------------------------------------------------------------
            revno: 483.6.6
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-ag
            timestamp: Tue 2016-09-13 12:36:39 +0200
            message:
              Fix typo in Denchar routine
            ------------------------------------------------------------
            revno: 483.6.5
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-ag
            timestamp: Tue 2016-09-13 11:42:56 +0200
            message:
              Update declarations in zheevds
            ------------------------------------------------------------
            revno: 483.6.4
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0-ag
            timestamp: Tue 2016-09-13 07:41:26 +0200
            message:
              Consolidate interface imports in mpi_siesta
            ------------------------------------------------------------
            revno: 483.6.3
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0
            timestamp: Mon 2016-09-12 15:30:18 +0200
            message:
              Fix Util/WFS
            ------------------------------------------------------------
            revno: 483.6.2
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0
            timestamp: Mon 2016-09-12 15:22:53 +0200
            message:
              Update MPI int kind handling
            ------------------------------------------------------------
            revno: 483.6.1
            committer: Alberto Garcia <albertog@icmab.es>
            branch nick: 4.0
            timestamp: Fri 2016-09-09 17:12:09 +0200
            message:
              Fixes for further standards compliance
              
              Some changes were needed to allow compilation with g95, which has
              stricter checks than other compilers in some areas.
              
              Non-standard specifications such as real*8 and integer*8 are being
              progressively removed.
------------------------------------------------------------
revno: 574
fixes bug: https://launchpad.net/bugs/1622526
committer: Alberto Garcia <albertog@icmab.es>
branch nick: 4.1
timestamp: Mon 2016-09-12 11:19:56 +0200
message:
  Fix bug in switch-off option for MRRR
------------------------------------------------------------
revno: 573
tags: v4.1-b1
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Wed 2016-08-31 07:52:35 +0200
message:
  Removed __FILE__ reference in class_Distribution
  
  - In some cases will this preprocessor fail.
    Besides, it was only used in one place.
  
  - Fixed release.sh (dublicate path)
    and removed it self from the release tarball
------------------------------------------------------------
revno: 572
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-08-30 16:02:33 +0200
message:
  Removed default constants in read_options
  
  - There was no need to have elsewhere defined
    defaults in read_options. Now they are
    hard-coded which makes it easier to
    track and change.
  
  - Updated all makefiles.
------------------------------------------------------------
revno: 571
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-08-30 15:46:54 +0200
message:
  Updated to new manual format
------------------------------------------------------------
revno: 570
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-08-30 11:41:02 +0200
message:
  Added Gate-tests
  
  - Added gate_G_{charge,hartree} for charge and Hartree gates
------------------------------------------------------------
revno: 569
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-08-30 11:32:08 +0200
message:
  Forced mulliken printout during SCF to false in certain cases
  
  - If the user does not request a specific type of mulliken population
    AND request mulliken per SCF, then it is automatically turned off.
------------------------------------------------------------
revno: 568
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-08-30 10:31:55 +0200
message:
  Updated manual and removed obsolete appendices
  
  - Also minor fixes across the full manual.
    References, spelling mistakes etc.
  
  - Highlighted that the release is a beta release
------------------------------------------------------------
revno: 567
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-08-30 08:35:45 +0200
message:
  Updated tbtrans manual for the next release
------------------------------------------------------------
revno: 566
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-08-30 08:07:55 +0200
message:
  Moved release notes, changed SIESTA__MRRR to SIESTA__NO_MRRR
------------------------------------------------------------
revno: 565 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-08-30 07:43:37 +0200
message:
  Merged AG changes for 4.1 release
  
  Introduction of SIESTA__MRRR and several forgotten
  variables in certain modules.
    ------------------------------------------------------------
    revno: 562.1.7
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-ag
    timestamp: Tue 2016-08-30 02:05:21 +0200
    message:
      Add mention to mix-scf1
    ------------------------------------------------------------
    revno: 562.1.6
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-ag
    timestamp: Tue 2016-08-30 01:56:18 +0200
    message:
      Updated release notes
    ------------------------------------------------------------
    revno: 562.1.5
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-ag-aux
    timestamp: Tue 2016-08-30 00:21:39 +0200
    message:
      Put contributors in manual
    ------------------------------------------------------------
    revno: 562.1.4
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-ag-aux
    timestamp: Tue 2016-08-30 00:19:24 +0200
    message:
      Add draft release notes
    ------------------------------------------------------------
    revno: 562.1.3 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-ag-aux
    timestamp: Tue 2016-08-30 00:18:53 +0200
    message:
      Sync to 4.1-564
    ------------------------------------------------------------
    revno: 562.1.2
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-ag
    timestamp: Sun 2016-08-28 08:27:21 +0200
    message:
      Declare some variables
    ------------------------------------------------------------
    revno: 562.1.1
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.1-ag
    timestamp: Fri 2016-08-26 08:34:05 +0200
    message:
      Add SIESTA__MRRR wrapper
------------------------------------------------------------
revno: 564
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Mon 2016-08-29 08:36:23 +0200
message:
  Enabled compilation of link-time optimizations
  
  - Link-time optimizations are required to have the compiled
    libraries made with the same flags.
    This commit introduces small fixes to a few Makefiles
    FoX and SiestaXC which now allows link-time optimizations.
  
    Using LTO for GCC 6.1.0 the final executable decreases
    by a staggering 33%
------------------------------------------------------------
revno: 563
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Fri 2016-08-26 08:32:41 +0200
message:
  Added documentation of NetCDF-4 file, changed file to slabel
  
  - Added documentation for the generic SIESTA NetCDF file
  
  - Ensured that the NetCDF-4 file is named <slabel>.nc
------------------------------------------------------------
revno: 562
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Thu 2016-08-25 13:44:59 +0200
message:
  Fixed documentation and added flook and tbtrans
  
  - Defining the 4.1 in the documentation was incorrect.
  
  - Added how to enable flook
  
  - Added missing flag for tbtrans calculations which
    ensures a correct DOS on the device atoms.
------------------------------------------------------------
revno: 561
committer: Nick Papior <nickpapior@gmail.com>
branch nick: 4.1
timestamp: Tue 2016-08-23 21:29:36 +0200
message:
  Prepared release branch for 4.1
------------------------------------------------------------
revno: 560
tags: s4.1
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Tue 2016-08-23 21:22:56 +0200
message:
  Removed entroy print outs from pexsi defs
  
  Simple removal of output which where debugging statements
  for the PEXSI method.
------------------------------------------------------------
revno: 559
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Tue 2016-08-23 07:02:49 +0200
message:
  Made older shipped libraries issue a warning on compilation
  
  - The linalg.a libraries (etc.) are now deprecated in favor
    of libsiestaBLAS.a and/or libsiestaLAPACK.a
  
    Trying to use the previous libraries in COMP_LIBS
    results in a warning message and quits.
------------------------------------------------------------
revno: 558
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Fri 2016-08-19 07:32:11 +0200
message:
  Updated transiesta-tbtrans tests with the new settings
  
  - Everything seems in order. In fact some of the
    convergence properties are now better due to the
    constraint on the Hamiltonian.
  
  - Fixed the print-out of error on the energy density
    matrix to print in eV.
  
  - Fixed scripts for TS tests to only compile tbtrans
    if it isn't already compiled.
  
  - Removed mentions of old flags in the TS test.
    Also corrected those which have farther than principal
    cell connections.
    In these situations I have added a remark for the flag
    so it should be clear its use is highly discouraged.
------------------------------------------------------------
revno: 557
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Thu 2016-08-18 12:36:36 +0200
message:
  Enabled EDM convergence criteria, controls the forces
  
  - The convergence criteria now enables converging the
    energy density matrix.
  
    This is a simple addition which does not introduce
    any complexity to the code.
    I expect it may be used to control the fineness of
    the force calculations.
    It does, however, not seem too much different than
    the Hamiltonian convergence.
------------------------------------------------------------
revno: 556
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Thu 2016-08-18 11:02:14 +0200
message:
  Re-runned all tests and updated the reference tests
  
  - I have re-runned all tests with the new defaults (mix hamiltonian
    and H converge as well.)
  
    A couple of the tests showed changes (see r554) which could
    be explained by a not fully converged system in the mix DM case.
  
    As such it seems these new defaults exhibit superior convergence
    and, hopefully, more consistent results as both the Hamiltonian and
    DM are converged.
  
    It would perhaps be interesting to also converge EDM?
  
  - A couple of the tests was not added in the previous reference frame
    and they are now there.
    I haven't compared these against the old version.
    These tests are:
      anneal-cont.out
      carbon_nanoscroll.out
      dipole_correction.out
      fe_cohp.out
      fe_noncol_kp.out
      fen.out
      force_constants.out
      ge111.out
      h2o-rhog-mixing.out
      h2o_2.out
      pb_bulk.out
      si001.out
      sinw.out
      sinw_2.out
      
------------------------------------------------------------
revno: 555
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Thu 2016-08-18 09:24:34 +0200
message:
  Updated documentation, PAO and AtomicCoordinates in new format
  
  - Updated all PAO and AtomicCoordinates entries to the new format.
------------------------------------------------------------
revno: 554
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Thu 2016-08-18 07:56:45 +0200
message:
  Run all tests, solved merge problems and updated convergence criteria
  
  - 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
    matrix.
  
    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:
     compute_dm
     final_H_f_stress
     state_init
  
  - 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
    ./cyclediffs.sh
  
    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.
------------------------------------------------------------
revno: 553
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Tue 2016-08-16 08:21:30 +0200
message:
  Updated SCF print-outs
  
  - 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
------------------------------------------------------------
revno: 552
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Sat 2016-08-13 16:00:08 +0200
message:
  Fixed none orbital pivoting ('none' should be equivalent to orb+none)
  
  - If a transiesta users requests Pivot 'none' there
    was a bug related to defaulting the atomic pivoting
    table.
    This has been fixed now.
    
------------------------------------------------------------
revno: 551
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Sat 2016-08-13 12:06:00 +0200
message:
  Enabled BLAS and LAPACK sources shipped with siesta fixes lp:1593706
  
  - 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
  
    
------------------------------------------------------------
revno: 550
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Fri 2016-08-12 08:34:43 +0200
message:
  Updated documentation and explained more on TS.Analyze
------------------------------------------------------------
revno: 549
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Fri 2016-08-12 07:59:02 +0200
message:
  Made transiesta analyzation start sooner
  
  - Moving the analyzation step more up uses less
    memory and allows extremely large systems to be
    analyzed on small laptops (execution time may be
    long).
  
  - Introducing a pivoting table for looking up the
    min/max columns improved rgn2tri algorithm by orders
    of magnitude.
  
  - Moved a couple of the integers to long for large
    scale calculations.
  
  - Removed METIS from rgn2tri analyzis
------------------------------------------------------------
revno: 548
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Thu 2016-08-11 21:47:18 +0200
message:
  Fixed command line options for siesta
  
  - 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
------------------------------------------------------------
revno: 547
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Thu 2016-08-11 18:51:04 +0200
message:
  Updated compatibility notes, MixH -> default
  
  - Updated compatibility notes for specifics regarding the 4.1
    release
  
  - Made MixHamiltonian the default mixing option.
  
  - Updated documentation for siesta by moving a couple of the
    basic entries to the new format.
------------------------------------------------------------
revno: 546
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Wed 2016-08-10 13:29:54 +0200
message:
  Removed superfluous print-outs
  
  - The memory print-outs was more than likely related
    to PEXSI for checking that the splitting of the workers
    and PEXSI-nodes
  
  - The entropy print-out is now only performed in PEXSI compilations
  
  - The defaults for the timers are now reverted in case of non-PEXSI
    runs.
  
  - Updated the manual for a couple of entries related to timings.
------------------------------------------------------------
revno: 545
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Wed 2016-08-10 13:00:11 +0200
message:
  Fixed PEXSI compilation and deferred the Nodes count
  
  - A couple of define flags for PEXSI was not up to date,
    possibly lost during the merge(?). Well...
  
  - Updated print-out of computational method in read_options.
  
  - Moved printing of number of nodes to one line
------------------------------------------------------------
revno: 544
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Wed 2016-08-10 09:53:46 +0200
message:
  Finalized the NOTES.documentation about the tags.
------------------------------------------------------------
revno: 543
fixes bug: https://launchpad.net/bugs/1611265
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Wed 2016-08-10 09:29:39 +0200
message:
  Small fixes in m_mixing according to lp:1611265
  
  - Fixed OpenMP statement
  
  - Fixed double naming of constants and routines
  
  - Fixed history_init calls in transiesta
------------------------------------------------------------
revno: 542 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Mon 2016-08-08 15:09:40 +0200
message:
  Merged documentation, see Docs/branch-changes/NOTES.documentation
  
  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)
    ------------------------------------------------------------
    revno: 527.1.33
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Mon 2016-08-08 13:48:54 +0200
    message:
      Updated documentation of the diag part.
      
      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
      blocks.
    ------------------------------------------------------------
    revno: 527.1.32
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Sat 2016-08-06 10:11:02 +0200
    message:
      Fixed a few remaining things of the documentation
      
      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.
    ------------------------------------------------------------
    revno: 527.1.31
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Fri 2016-08-05 13:58:38 +0200
    message:
      Updated date for the documentation
    ------------------------------------------------------------
    revno: 527.1.30
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Fri 2016-08-05 13:29:08 +0200
    message:
      Added PEXSI reference, changed PEXSI documentation to new style
      
      Fixed minor things in the fdf setup for the manual in TeX.
    ------------------------------------------------------------
    revno: 527.1.29
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Fri 2016-08-05 12:36:09 +0200
    message:
      Updated release.sh, updated NOTES, added Ramon as contributor
    ------------------------------------------------------------
    revno: 527.1.28
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Fri 2016-08-05 11:59:13 +0200
    message:
      Added tags and updated release.sh
      
      Also moved branch-changes into NOTES.documentation
    ------------------------------------------------------------
    revno: 527.1.27 [merge]
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Fri 2016-08-05 09:30:26 +0200
    message:
      Merged trunk-540
    ------------------------------------------------------------
    revno: 527.1.26
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Thu 2016-08-04 16:57:19 +0200
    message:
      Added Docs/release.sh script for easy creation of tar.gz
      
      This script enables easier release tar.gz files with a consistent
      format.
      The main functionality is that it will create a folder:
         siesta-releases
      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
    ------------------------------------------------------------
    revno: 527.1.25
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Thu 2016-08-04 14:28:34 +0200
    message:
      Updated documentation for change of list in fdf
      
      Added documentation of PEXSI
      
      Added documentation of Accuracy control and principal
      cell connections.
    ------------------------------------------------------------
    revno: 527.1.24 [merge]
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Fri 2016-07-29 16:26:45 +0200
    message:
      Merged trunk
      
      Added documentation for fdict and ncdf
    ------------------------------------------------------------
    revno: 527.1.23
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Fri 2016-07-29 10:11:38 +0200
    message:
      Added documentation of external libraries
      
      Documented BLAS/LAPACK/ScaLAPACK/MPI/OpenMP/NetCDF4
      in the manual.
      
      Also added documentation of how to compile and run
      siesta using OpenMP.
      
      The NetCDF4 documentation is now also in place.
    ------------------------------------------------------------
    revno: 527.1.22
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Mon 2016-07-25 10:25:13 +0200
    message:
      Added documentation of charge/hartree gate
      
      - The Charge/Hartree gate is now documented.
      
      - Added an \ifdeprecated which may be used to
        keep old flags in the manual.
      
      - The old mixing options are now deprecated and
        partially removed (may be re-instantiated by
        setting \deprecatedtrue in the heading)
        However, the options are not used.
    ------------------------------------------------------------
    revno: 527.1.21
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Fri 2016-07-22 11:08:31 +0200
    message:
      Added projection documentation for tbtrans
    ------------------------------------------------------------
    revno: 527.1.20
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Thu 2016-07-21 22:40:37 +0200
    message:
      Enabled size compilation of manual, as well as screen
      
      - Updated the makefile for the documentation.
        Now it can build the manual in different formats:
      
          make SIZE=10|11|12
          
        will control the font-size of the manual.
      
      - One can also compile the manual in a screen, two-column format
        which may be easier to read on a big screen.
      
          make all
      
        will create all different documentations:
           siesta.pdf, siesta-screen.pdf
           tbtrans.pdf, tbtrans-screen.pdf
    ------------------------------------------------------------
    revno: 527.1.19 [merge]
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Thu 2016-07-21 14:24:27 +0200
    message:
      Merged trunk-530
    ------------------------------------------------------------
    revno: 527.1.18
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Thu 2016-07-21 14:22:08 +0200
    message:
      Added tbtrans documentation
      
      - The tbtrans documentation is nearly complete.
        Currently I think I only need to document the projection
        stuff.
      
      - The tbtrans manual is a separate document. This is because
        I hope it will encourage the use of tbtrans as a separate
        program.
      
      - Added preliminary placeholder for transiesta article.
      
      - Updated keywords for electrodes to be more generic.
        Now TSHS == HS and Rep.A1 is not used anymore.
        TSDE == DE
      
      - Cleaned the molecular mechanics module.
    ------------------------------------------------------------
    revno: 527.1.17
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Tue 2016-07-19 15:12:52 +0200
    message:
      Finalized transiesta documentation
      
      - All tbtrans documentation has been removed.
        This will be present in a separate manual.
      
      - Changed the default Poisson position to be the
        cell.
    ------------------------------------------------------------
    revno: 527.1.16
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Tue 2016-07-19 13:45:05 +0200
    message:
      Fixed mixing with restarts of zero
    ------------------------------------------------------------
    revno: 527.1.15
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Tue 2016-07-19 10:08:25 +0200
    message:
      Fixed mixing for GR such that it may be used again
      
      - Re-enabled GR mixing scheme. Currently it does
        not work with transferring the history to this one
    ------------------------------------------------------------
    revno: 527.1.14
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Mon 2016-07-18 11:16:51 +0200
    message:
      Added more TS documentation
      
      - Added equilibrium contour documentation
      
      - Added non-equilibrium contour documentation
      
      - Added how to put in atoms in the input block
      
      - Reduced the Fermi function cutoff energy (2.5 kT)
        is now the new minimum.
    ------------------------------------------------------------
    revno: 527.1.13
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Fri 2016-07-15 16:36:30 +0200
    message:
      Added contour documentation. Still things that are missing
      
      - Added more documentation of the contour options for
        transiesta
      
      - Fixed cell-side constraint in the m_fixed.F90 module
    ------------------------------------------------------------
    revno: 527.1.12
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Wed 2016-07-13 15:53:28 +0200
    message:
      Added documentation of transiesta
      
      - Updated the documentation to contain information regarding
        the regular transiesta options.
      
      - There are still quite a bit of flags that needs to be added.
    ------------------------------------------------------------
    revno: 527.1.11
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Fri 2016-07-08 22:17:30 +0200
    message:
      Added documentation of the Geometry.Constraints
      
      - Updated the documentation of the Geometry.Constraints
        to follow the latest implementations.
      
        Remark that now cellangle, cellside, center, rigid
        now work.
    ------------------------------------------------------------
    revno: 527.1.10
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Fri 2016-07-08 17:15:47 +0200
    message:
      Beginning of converting mix to separate calls
      
      - Almost updated everything to be consistent in terms
        of the Pulay vs. Broyden mixing.
        Now Broyden is implemented similarily as the Pulay
        mixing scheme where it is much clearer how they are
        similar.
      
      - Currently the Pulay-GR is not functioning.
    ------------------------------------------------------------
    revno: 527.1.9
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Thu 2016-07-07 12:29:39 +0200
    message:
      Added tests of mix_linear|pulay|broyden for easy checks
    ------------------------------------------------------------
    revno: 527.1.8
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Wed 2016-07-06 15:38:33 +0200
    message:
      Added the tex/physics.tex file and the bib file
      
      - Added the bibliography
      
      - Added physical constants.
    ------------------------------------------------------------
    revno: 527.1.7
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Wed 2016-07-06 15:14:24 +0200
    message:
      Added documentation of the new mixing options
      
      - Added initial documentation of the SCF mixing options.
      
      - Removed the possibility of adding a linear initial mixer
        I cannot see how this is (standard) a good idea.
      
        In any case, it can be realized using the more advanced input
        format of the mixing options.
      
      - Fixed the next|restart.p calculation.
      
        Now it is the relative difference between the previous residual.
    ------------------------------------------------------------
    revno: 527.1.6
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Tue 2016-07-05 14:52:10 +0200
    message:
      Changed mixing keywords
      
      - Instead of SCF.Mix we now use SCF.Mixer(s)
      
        This has the benefit that SCF.Mix may be used
        to set the mixing quantity via:
          SCF.Mix DM|Hamiltonian|charge
        and the block SCF.Mixers control the input mixers.
      
      - Enabled SCF.Mix DM|Hamiltonian|charge
        To control the quantity mixed.
      
        The old keywords are now noted as deprecated and
        but we still retain their use as defaults.
    ------------------------------------------------------------
    revno: 527.1.5
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Tue 2016-07-05 13:37:03 +0200
    message:
      Updated the mixing method preparing for the documentation
      
      - Now the option reading is much more easy
        and it actually behaves as expected with less
        complexity
      
      - Fixed the "after convergence" run.
      
      - Now there may be two next's.
      
        One for itterations, and one for after-convergence.
      
      - Extended the scfmix test to use a variety of mixers.
        Also updated the reference. (note this has debugging
        options)
      
      - Moved siesta_options regarding the mixing settings
        to m_mixing_scf for clarity.
      
      - Added printing of the mixing blocks such that users
        may easily extend them (just like PAO.Basis block)
      
      - Removed some unnecessary fdf key words.
    ------------------------------------------------------------
    revno: 527.1.4
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Tue 2016-07-05 07:44:56 +0200
    message:
      Removed all tt/it/sc/bf hanging in new-lines
    ------------------------------------------------------------
    revno: 527.1.3
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Mon 2016-07-04 22:23:30 +0200
    message:
      Changed textsc siesta/transiesta to \siesta/\tsiesta
    ------------------------------------------------------------
    revno: 527.1.2
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Mon 2016-07-04 16:38:28 +0200
    message:
      Changed tt/it/sc/bf
      
      Updated all tt/it/sc/bf tex commands to the newer
      latex commands.
    ------------------------------------------------------------
    revno: 527.1.1
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: documentation
    timestamp: Mon 2016-07-04 16:34:00 +0200
    message:
      Enabled initial new documentation layout
      
      - Added generic parser of fdf keywords using
        |#1|. This enables more efficient documentation
        as the keywords become less cluttered.
      
      - 3 indices are now present in the siesta
        manual. These encompass regular, files and fdf-flags.
------------------------------------------------------------
revno: 541
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Fri 2016-08-05 14:19:32 +0200
message:
  Temporary work-around for supercell changes
  
  The TS branch introduced a kill of siesta when the supercell
  was changed during an MD. This may not always be the case if the
  supercell structure is correct, but the connected supercells are
  changing. In that case will it be acceptable to continue. However,
  there may be cases where this is not applicable.
  This will be fully fixed in future cases where the supercell information
  is retained in restart files.
------------------------------------------------------------
revno: 540
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Thu 2016-08-04 15:17:48 +0200
message:
  Moved many of the CHANGES files to the branch-changes
  
  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.
------------------------------------------------------------
revno: 539 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Thu 2016-08-04 14:19:02 +0200
message:
  Merged transiesta
  
  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)
    ------------------------------------------------------------
    revno: 537.1.3
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: transiesta
    timestamp: Thu 2016-08-04 14:14:42 +0200
    message:
      Added fdf_bphysical and change { to [ in list creations
      
      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.
    ------------------------------------------------------------
    revno: 537.1.2
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: transiesta
    timestamp: Mon 2016-08-01 06:51:05 +0200
    message:
      transiesta now dies if the principal cell is not enforced
      
      This may be controlled by the:
        TS.Elecs.Neglect.Principal
      or for tbtrans
        TBT.Elecs.Neglect.Principal
      We do this because it may often be misused by people unaware of the
      physical implications of not having principal cell connections.
    ------------------------------------------------------------
    revno: 537.1.1
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: transiesta
    timestamp: Sun 2016-07-31 09:48:22 +0200
    message:
      Added accuracy control to transiesta on a per-electrode case
      
      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.
------------------------------------------------------------
revno: 538 [merge]
committer: Alberto Garcia <albertog@icmab.es>
branch nick: trunk
timestamp: Thu 2016-08-04 11:27:45 +0200
message:
  Merged PEXSI-solver interface code
  
  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.
    ------------------------------------------------------------
    revno: 432.2.128
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2016-08-04 11:03:32 +0200
    message:
      Use SIESTA__PEXSI as symbol, and .LDOS. instead of .localdos.
      
      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)
    ------------------------------------------------------------
    revno: 432.2.127
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2016-08-03 08:44:11 +0200
    message:
      Cleaner fix for init_spin behavior
      
      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.
      
      modified:
        Src/m_spin.F90
        Src/siesta_init.F
    ------------------------------------------------------------
    revno: 432.2.126
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Sun 2016-07-31 02:31:34 +0200
    message:
      Fix bug related to init_spin behavior
      
      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.
      
      modified:
        Src/compute_dm.F
        Src/m_spin.F90
        Src/siesta_analysis.F
        Src/sparse_matrices.F
      added:
        Tests/sih-pexsi-spin
    ------------------------------------------------------------
    revno: 432.2.125
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Sat 2016-07-30 03:43:32 +0200
    message:
      Put back the MPI interfaces
      
      The custom MPI interfaces in Src/MPI are now compiled
      by default, except if the preprocessor option
      
       -DNO_MPI_INTERFACES
      
      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
    ------------------------------------------------------------
    revno: 432.2.124
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Sat 2016-07-30 02:20:25 +0200
    message:
      Wrap PEXSI code within preprocessor blocks
      
      The mechanism is similar to that used for TranSiesta.
      
      (Also wrapped ELPA code within MPI preprocessor blocks)
    ------------------------------------------------------------
    revno: 432.2.123
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2016-07-29 23:56:47 +0200
    message:
      Remove old pexsi code
      
      removed:
        Src/OldPEXSI/
        Src/dummy_pexsi/
        Src/m_pexsi_solver.F90_old
    ------------------------------------------------------------
    revno: 432.2.122 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2016-07-29 23:48:56 +0200
    message:
      Sync to trunk-537 (removal of fdf_global_get + fixes)
    ------------------------------------------------------------
    revno: 432.2.121 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2016-07-29 23:42:13 +0200
    message:
      Sync to trunk-535 (after ELPA/MRRR merge + fdict changes)
    ------------------------------------------------------------
    revno: 432.2.120
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2016-07-28 15:00:13 +0200
    message:
      Add flag to turn off calculation of forces
      
      With the fdf setting 'compute-forces F' the program will skip the call
      to 'post_scf_work' in 'siesta_forces'. This is for debugging purposes
      only.
      
      modified:
        Src/siesta_forces.F
        
        
    ------------------------------------------------------------
    revno: 432.2.119
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Tue 2016-07-26 16:22:59 +0200
    message:
      Clarify the options and filenames to output H and DM
      
      For backwards compatibility, a single SystemLabel.DM file
      is produced by default. If the blocked-format option
      
          Write.Blocked.Matrix T
      
      is used, a variety of files with the '.blocked' suffix might be
      produced. See the manual for a full explanation.
      
      Note that the above performance-enhancing option is NOT enabled
      by default.
      
      modified:
        Docs/siesta.tex
        Src/m_iodm_old.F
        Src/save_density_matrix.F
    ------------------------------------------------------------
    revno: 432.2.118 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2016-07-22 11:03:08 +0200
    message:
      Sync to trunk-531
      
      Still to test: the NCDF_4 interoperability.
    ------------------------------------------------------------
    revno: 432.2.117 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2016-07-21 16:36:18 +0200
    message:
      Sync to trunk-525 (after TS merge + few revs)
      
      NOTES: Work in progress.
      Tests run. Some differences still to be explored
      
      write_dm interface: For now, files of the form SystemLabel.DM_MIXED
      and SystemLabel.DM_OUT are produced by Nick's new routine.
      
      Files such as DM_OUT and DM_MIXED (as well as H_DMGEN and H_MIXED) are
      produced by AG's write_spmatrix.
    ------------------------------------------------------------
    revno: 432.2.116 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2016-07-21 10:42:45 +0200
    message:
      Sync to trunk-508 (after spin-orbit)
    ------------------------------------------------------------
    revno: 432.2.115 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2016-07-11 15:20:39 +0200
    message:
      Sync to trunk-507 (after LDA+U and a few fixes)
      
      (+ fix change in timer label: itermd-->itergeom)
    ------------------------------------------------------------
    revno: 432.2.114 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Sun 2016-07-10 23:57:58 +0200
    message:
      Sync to trunk-492 (after GPL and a few fixes)
    ------------------------------------------------------------
    revno: 432.2.113 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Sun 2016-07-10 23:15:32 +0200
    message:
      Sync to trunk-476 (after Fix the geometry and DM and H logic)
      
      Note that the logic in the PEXSI branch's siesta_forces.F
      was already more complete than in the trunk, so it has
      been kept unchanged, with minor additions for documentation.
      
      The sparse matrix format is "blocked" by default.
    ------------------------------------------------------------
    revno: 432.2.112 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Sun 2016-07-10 01:56:26 +0200
    message:
      Sync to trunk-475 (after Wannier and sockets)
    ------------------------------------------------------------
    revno: 432.2.111 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Sun 2016-07-10 01:39:39 +0200
    message:
      Sync to trunk-472
    ------------------------------------------------------------
    revno: 432.2.110
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Tue 2015-11-10 14:53:01 +0100
    message:
      Fix communicator bug in LDOS routine
      
      The full spatial communicator must be used for the plan, even
      if we use only a pole's worth of processors.
      
      Insert note in the manual regarding the mandatory divisibility of
      the number of MPI processes by PEXSI.npPerPole.
      
      modified:
        Src/pexsi-ldos.lit
        Src/m_pexsi_local_dos.F90
        Docs/siesta.tex
        Docs/LitCode/pexsi-ldos.html
        
    ------------------------------------------------------------
    revno: 432.2.109
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Thu 2015-11-05 14:08:52 +0100
    message:
      Avoid stopping the program when the solver does not converge. Update documentation.
      
      Rather than stopping the program immediately, we allow the
      density-matrix normalization step to try to recover the correct number
      of electrons. This is non-optimal but can recover from occassional
      instabilities.
      
      Update the manual.
      
      Create Docs/LitCode to hold the .html files produced (manually for now) from
      the .lit files in Src.
      
      added:
        Docs/LitCode/
        Docs/LitCode/README
        Docs/LitCode/pexsi-dos.html
        Docs/LitCode/pexsi-ldos.html
        Docs/LitCode/pexsi-lit.html
        Docs/LitCode/pexsi-solver.html
        Docs/LitCode/redist-spmatrix.html
      renamed:
        Src/redist-spmatrix.org => Src/redist-spmatrix.lit
      modified:
        Docs/siesta.tex
        Src/Makefile
        Src/m_pexsi_driver.F90
        Src/makefile.lit
        Src/pexsi-solver.lit
        Src/redist-spmatrix.lit
    ------------------------------------------------------------
    revno: 432.2.108
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Tue 2015-11-03 15:28:28 +0100
    message:
      Update comments in lit files
    ------------------------------------------------------------
    revno: 432.2.107
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Mon 2015-11-02 15:35:42 +0100
    message:
      Implemented DOS and LDOS routines with spin-polarization
    ------------------------------------------------------------
    revno: 432.2.106
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Mon 2015-11-02 01:28:08 +0100
    message:
      Added pexsi-dos.lit
    ------------------------------------------------------------
    revno: 432.2.105
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Mon 2015-10-26 18:09:00 +0100
    message:
      Update interval when falling back to IC in solver
      
      When the Newton step in the solver falls outside the bracket a new one
      is chosen which includes the jump point. Then a new inertia-count
      cycle begins.
      
      (+ added .make files for MN and Edison)
      
      added:
        Src/Sys/edison-pexsi.make
        Src/Sys/marenostrum-pexsi.make
      modified:
        Src/m_pexsi_driver.F90
        Src/pexsi-lit.org
    ------------------------------------------------------------
    revno: 432.2.104
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Tue 2015-10-20 17:45:16 +0200
    message:
      Better support for PEXSI versions
      
      The file f_ppexsi_interface.f90 now "include"s the actual interface
      file from the PEXSI distribution directory. See the new file
      Src/Sys/pexsi-gfortran-openmpi.make for an example of arch.make.
      
      Cosmetics: minimize debugging output.
      
      Some rough edges still remaining:
      
      - Update of estimated mu in inertia-count?
      
      - Treatment of the "large jump" in the Newton method
        (diagnosis criteria and re-bracketing for inertia-count)
        
      - Centralization and documentation of options.
      
      - Cosmetics for output
      
      - Option to treat spin serially in PEXSI
      
      added:
       Src/Sys/pexsi-gfortran-openmpi.make
      modified:
       Src/Makefile
       Src/class_Distribution.F90
       Src/f_ppexsi_interface.f90
       Src/m_pexsi_driver.F90
       Src/m_redist_spmatrix.F90
       Src/pexsi-lit.org
       Src/redist-spmatrix.org
      
      		
    ------------------------------------------------------------
    revno: 432.2.103
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Mon 2015-10-19 23:54:30 +0200
    message:
      Simplify class_Distribution
      
      Some constructs were F2003 only (notably the "allocate on assignment").
      There is now a single distribution module with dispatching based on
      the type of distribution.
      
      Some rough edges still remaining:
      
      - Treatment of the "large jump" in the Newton method
        (diagnosis criteria and re-bracketing for inertia-count)
        
      - Centralization and documentation of options.
      
      - Cosmetics for output
      
      - Option to treat spin serially in PEXSI
      
      	
    ------------------------------------------------------------
    revno: 432.2.102
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Mon 2015-10-19 10:56:48 +0200
    message:
      First working version for spin-polarization
      
      This version splits the PEXSI communicator to deal
      with spins completely in parallel. Note that the SIESTA
      side still does them serially.
      
      Some rough edges still remaining:
      
      - Treatment of the "large jump" in the Newton method
        (diagnosis criteria and re-bracketing for inertia-count)
        
      - Centralization and documentation of options.
      
      - Cosmetics for output
      
      - Option to treat spin serially in PEXSI
      
      	
    ------------------------------------------------------------
    revno: 432.2.101
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Mon 2015-10-19 10:47:36 +0200
    message:
      Version with spin for testing
    ------------------------------------------------------------
    revno: 432.2.100
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Mon 2015-10-19 10:40:24 +0200
    message:
      Clarified free_energy issue. Cosmetics
    ------------------------------------------------------------
    revno: 432.2.99
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Mon 2015-10-19 10:04:43 +0200
    message:
      Fixed bug in broadcast of nvals. It works
    ------------------------------------------------------------
    revno: 432.2.98
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Sun 2015-10-18 20:52:12 +0200
    message:
      Almost there. Some more fixes. Still leaking for spin
    ------------------------------------------------------------
    revno: 432.2.97
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Sun 2015-10-18 20:01:43 +0200
    message:
      Almost there. Some memory leak
    ------------------------------------------------------------
    revno: 432.2.96
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Sat 2015-10-17 20:03:33 +0200
    message:
      Still broken but closer
    ------------------------------------------------------------
    revno: 432.2.95
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Fri 2015-10-16 17:20:19 +0200
    message:
      (Broken) New strategy for redistribution
    ------------------------------------------------------------
    revno: 432.2.94
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Thu 2015-10-15 19:15:03 +0200
    message:
      Broken code --just for comments
    ------------------------------------------------------------
    revno: 432.2.93
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Wed 2015-10-14 18:22:20 +0200
    message:
      First shot at spin-polarization
    ------------------------------------------------------------
    revno: 432.2.92
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Wed 2015-10-14 14:07:01 +0200
    message:
      Preparation for support of spin-polarization
    ------------------------------------------------------------
    revno: 432.2.91
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Wed 2015-10-14 11:44:47 +0200
    message:
      Literate version of redist-spmatrix
    ------------------------------------------------------------
    revno: 432.2.90
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Tue 2015-10-13 18:26:57 +0200
    message:
      Refine the expert interface for spinless case (work in progress)
      
      Some rough edges still remaining:
      
      - Treatment of the "large jump" in the Newton method
        (diagnosis criteria and re-bracketing for inertia-count)
        
      - Centralization and documentation of options.
      
      modified:
        Src/m_pexsi_driver.F90
        Src/pexsi-lit.org
            
      	
    ------------------------------------------------------------
    revno: 432.2.89
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Tue 2015-10-13 16:59:24 +0200
    message:
      Better org structure and cosmetics
    ------------------------------------------------------------
    revno: 432.2.88
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Tue 2015-10-13 11:28:28 +0200
    message:
      Bug fixes and clarifications
    ------------------------------------------------------------
    revno: 432.2.87
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Mon 2015-10-12 23:52:59 +0200
    message:
      Use an expert interface instead of the simple driver
      
      Call and handle the inertia-count routine and the "Fermi operator"
      calculator.
      Some rough edges regarding termination conditions and tolerance sizes
      (particularly the "energy width" criterion for inertia-count).
      
      modified:
        Src/Makefile
        Src/m_pexsi_driver.F90
        Src/pexsi-lit.org
            
      	
    ------------------------------------------------------------
    revno: 432.2.86
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Mon 2015-10-12 13:36:51 +0200
    message:
      Use org-mode for tangling pexsi sources
      
      added:
        Src/pexsi-lit.org
        Src/tangle.sh
      modified:
        Src/m_pexsi.f90
        Src/m_pexsi_driver.F90
      	
    ------------------------------------------------------------
    revno: 432.2.85
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Thu 2015-06-18 17:16:33 +0200
    message:
      Fix timing hierarchy in pexsi driver. Manual update
      
      * A timing section was wrongly enclosed in another.
      
      * Document the default values for the DM and H writing options.
      
      modified:
        Docs/siesta.tex
        Src/m_pexsi_driver.F90
    ------------------------------------------------------------
    revno: 432.2.84
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.8
    timestamp: Thu 2015-06-18 17:05:30 +0200
    message:
      Update interface to pexsi-v0.8.0
      
      modified:
        Src/f_ppexsi_interface.f90
        Src/m_pexsi.f90
        Src/m_pexsi_dos.F90
        Src/m_pexsi_local_dos.F90
    ------------------------------------------------------------
    revno: 432.2.83
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Mon 2014-12-22 12:17:14 +0100
    message:
      Clarifications in the manual. Non-square np-per-pole
      
      Made some clarifications in the manual on the basis of feedback from
      Lin Lin.
      
      - The restriction of being a perfect square for np-per-pole has been lifted. 
      
      - New default of 1 for PEXSI.np-symbfact.
      
      - Clearer labeling for different ways of computing the band-structure
        energy (displayed when verbosity >= 2)
      
      modified:
        Docs/siesta.tex
        Src/m_pexsi.f90
        Src/m_pexsi_dos.F90
        Src/m_pexsi_driver.F90
        Src/m_pexsi_local_dos.F90
    ------------------------------------------------------------
    revno: 432.2.82
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Wed 2014-12-17 16:28:01 +0100
    message:
      Some more documentation. Update of PEXSI tests.
      
      added:
        Tests/sih-pexsi/
        Tests/sih-pexsi/makefile
        Tests/sih-pexsi/sih-pexsi.fdf
        Tests/sih-pexsi/sih-pexsi.pseudos
      modified:
        Docs/siesta.tex
        Src/obj_setup.sh
        Tests/si64-pexsi/si64-pexsi.fdf
    ------------------------------------------------------------
    revno: 432.2.81 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Wed 2014-12-17 11:16:31 +0100
    message:
      Sync to trunk-464. More documentation.
      
      Improve the documentation of the new framework for H and DM output.
      
      464:  Merge fixes from rc-4.0: constr. forces, MPI compilation, mm.potentials
      463:  Added restart file for smooth continuation of annealing runs (F. Corsetti)
      462:  Improved MPI version of siesta as a subroutine (J.M.Soler)
      461:  %files added to Util/JobList options (J.M.Soler)
      460:  New GGA and VDW functionals (M.Fritz & J.M.Soler)
      
      added:
        Docs/gga.CHANGES
        Docs/rc-4.0.CHANGES
        Src/SiestaXC/Testers/Reference/
        Src/SiestaXC/Testers/test6.f90
        Src/SiestaXC/Testers/test6.m
        Tests/anneal-cont/
        Tests/anneal-cont/README
        Tests/anneal-cont/makefile
        Tests/anneal-cont/script.sh
        Util/DensityMatrix/dmUnblock.F90
        Util/JobList/Examples/Ice/dummyFile
        Util/SiestaSubroutine/ProtoNEB/
      renamed:
        Src/SiestaXC/Testers/test2.f90 => Src/SiestaXC/Testers/test2.F90
      modified:
        Docs/CHANGES
        Docs/siesta.tex
        Pseudo/atom/Docs/atom.tex
        Pseudo/atom/pseudoXML.f
        Pseudo/atom/pxf.F90
        Pseudo/atom/velect.f
        Pseudo/atom/version.h
        Src/MPI/Makefile
        Src/SiestaXC/Testers/makefile
        Src/SiestaXC/Testers/test1.f90
        Src/SiestaXC/Testers/test3.F90
        Src/SiestaXC/Testers/test4.F90
        Src/SiestaXC/Testers/test5.f90
        Src/SiestaXC/atomxc.F90
        Src/SiestaXC/cellxc.F90
        Src/SiestaXC/ggaxc.f
        Src/SiestaXC/ldaxc.f
        Src/SiestaXC/makefile
        Src/SiestaXC/siestaxc.F90
        Src/SiestaXC/vdwxc.F90
        Src/SiestaXC/vv_vdwxc.F90
        Src/SiestaXC/xcmod.f90
        Src/atom.F
        Src/dynamics.f
        Src/fsiesta_mpi.F90
        Src/molecularmechanics.F90
        Src/write_subs.F
        Src/xc.f
        Util/DensityMatrix/README
        Util/DensityMatrix/makefile
        Util/JobList/Examples/Ice/iceChecks.jobs
        Util/JobList/README
        Util/JobList/Src/jobList.f90
        Util/SiestaSubroutine/README
        Src/SiestaXC/Testers/test2.F90
    ------------------------------------------------------------
    revno: 432.2.80
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Tue 2014-12-16 12:44:32 +0100
    message:
      More documentation. Cosmetic changes in output
      
      Improve the documentation of some features. 
      Remove very low-level output and wrap other according to verbosity levels
      (work in progress).
      
      modified:
        Docs/siesta.tex
        Src/m_pexsi_dos.F90
        Src/m_pexsi_driver.F90
        Src/m_pexsi_local_dos.F90
        Src/m_redist_spmatrix.F90
    ------------------------------------------------------------
    revno: 432.2.79
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Mon 2014-12-15 16:29:08 +0100
    message:
      Document the PEXSI features and update interface to v0.7.3
      
      Wrote the first version of a new section of the manual devoted to
      PEXSI.
      
      Updated the interpretation of the PEXSI.safe-width-ef-solver parameter
      to make it consistent with the psimilar parameter for
      inertia-counting.
      
      Deprecated the use of the parameter PEXSI.inertia-count.
      
      A minor cosmetic change in f_ppexsi_interface.f90 in the official
      v0.7.3.
      
      modified:
        Docs/siesta.tex
        Src/f_ppexsi_interface.f90
        Src/m_pexsi_driver.F90
        Src/Sys/macosx-pexsi.make
    ------------------------------------------------------------
    revno: 432.2.78
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Wed 2014-12-03 16:48:01 +0100
    message:
      Fix factor-of-two in DOS from inertia-count
      
      The inertia-count routine counts eigenvalues. Hence, we need
      a factor of two for properly getting the integrated density of states.
      
      modified:
        Src/m_pexsi_dos.F90
    ------------------------------------------------------------
    revno: 432.2.77
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Tue 2014-12-02 13:00:10 +0100
    message:
      Re-implemented the local DOS feature
      
      Used the selected-inversion interface.
      The number of processors per pole for this operation can
      be independently specified by
      
         PEXSI.LocalDOS.npPerPole  N
      
      In the absence of this line, the value of PEXSI.npPerPole is used.
      
      NOTE: Due to the extra call to dhscf to convert the reduced DM to the
      LDOS (which is a "charge density" at the desired energy), the file
      Rho.grid.nc is overwritten with the LDOS information. There is
      currently no way to avoid this. The file can be re-generated from the
      SystemLabel.RHO file after the Siesta run using the Util/Grid/grid2cdf
      program.
      
      renamed:
        Src/m_pexsi_local_dos.F90_old => Src/m_pexsi_local_dos.F90
      modified:
        Src/Makefile
        Src/siesta_analysis.F
        Src/m_pexsi_local_dos.F90
    ------------------------------------------------------------
    revno: 432.2.76
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Mon 2014-12-01 10:16:24 +0100
    message:
      Fix formatting problems in long source lines
      
      Some lines included backslashes that confused some compilers.  Other
      long lines in the PEXSI modules have now been split to fit within the
      classic 80 columns.
      
      modified:
        Src/m_pexsi_dos.F90
        Src/m_pexsi_driver.F90
    ------------------------------------------------------------
    revno: 432.2.75
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Wed 2014-11-26 11:16:45 +0100
    message:
      Re-implement DOS calculation
      
      Use call to the raw inertia-count routine.
      Do not try to re-use the plan, as it would complicate
      the program flow.
      
      renamed:
        Src/m_pexsi_dos.F90_old => Src/m_pexsi_dos.F90
      modified:
        Src/Makefile
        Src/siesta_analysis.F
        Src/m_pexsi_dos.F90
    ------------------------------------------------------------
    revno: 432.2.74
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Thu 2014-11-13 11:00:55 +0100
    message:
      Provide a safe bracket around mu for the solver
      
      Revised the heuristics for the 'solver-only' calls to add a bracket
      in case a fall-back to inertia-counting is needed.
      
      modified:
        Src/m_pexsi_driver.F90
    ------------------------------------------------------------
    revno: 432.2.73
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Thu 2014-11-06 16:41:14 +0100
    message:
      Add a new 'options' field for mu0, to initialize the solver.
      
      The heuristics for the 'solver-only' calls have to be revised,
      since there is in principle no need for a bracket, but a 
      fall-back to inertia-counting is possible.
      
      modified:
        Src/f_ppexsi_interface.f90
        Src/m_pexsi_driver.F90
    ------------------------------------------------------------
    revno: 432.2.72
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Tue 2014-11-04 12:41:23 +0100
    message:
      Use heuristics for re-use of inertia-count brackets
      
      Take some code from the old version to provide heuristics for the
      optimization of initial brackets during the SCF loop. So far only
      the inertia-count stage is treated.
      
      Re-organized the code into internal subroutines for clarity.
      
      modified:
        Src/m_pexsi_driver.F90
    ------------------------------------------------------------
    revno: 432.2.71
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Mon 2014-10-27 19:14:29 +0100
    message:
      Reuse plan in simple KSDFT driver
      
      Store the 'plan' in a new m_pexsi module, and 
      initialize and finalize as needed.
      
      Still no optimization of initial bracket during the SCF loop.
      
      added:
        Src/m_pexsi.f90
      modified:
        Src/Makefile
        Src/m_pexsi_driver.F90
        Src/siesta_forces.F
    ------------------------------------------------------------
    revno: 432.2.70
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-v0.7
    timestamp: Tue 2014-10-14 11:04:52 +0200
    message:
      Simple KSDFT driver from new interface
      
      Proof of concept.
      No plan reuse.
      No optimization of initial bracket during the SCF loop.
      
      removed:
        Src/m_pexsi_interface.f90
      added:
        Docs/pexsi-v0.7.CHANGES
        Src/Sys/macosx-pexsi.make
        Src/f_ppexsi_interface.f90
        Src/m_pexsi_driver.F90
        Tests/si64-pexsi/
        Tests/si64-pexsi/makefile
        Tests/si64-pexsi/si64-pexsi.fdf
        Tests/si64-pexsi/si64-pexsi.pseudos
      renamed:
        Src/m_pexsi_dos.F90 => Src/m_pexsi_dos.F90_old
        Src/m_pexsi_local_dos.F90 => Src/m_pexsi_local_dos.F90_old
        Src/m_pexsi_solver.F90 => Src/m_pexsi_solver.F90_old
      modified:
        Src/Makefile
        Src/siesta_analysis.F
    ------------------------------------------------------------
    revno: 432.2.69
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2014-04-25 15:48:05 +0200
    message:
      Implement new PEXSI solver dynamical-tolerance algorithm
      
      The on-the-fly tolerance for the number of electrons can now be
      fine-tuned on the basis of the ratio dDmax/dDtol (i.e., how far from
      convergence we are), instead of through the absolute value of dDmax.
      
      Here dDmax is the measure of last step's deviation in SCF convergence and
      dDtol is the tolerance for SCF convergence.
      
      Parameters:
      
      PEXSI.dynamical-tolerance   (default .false.)
      
      toggles the new algorithm. The default, for compatibility, is to use
      the old one.
      
      The algorithm itself is:
      
            tolerance_exp = log10(dDmax/(tolerance_target_factor*dDtol))
            tolerance_exp = max(tolerance_exp,0.0_dp)*tolerance_preconditioner
            tolerance = PEXSINumElectronToleranceMin * 10.0_dp**tolerance_exp
            tolerance = min(tolerance,PEXSINumElectronToleranceMax)
      
      and the parameters are set by the following keywords and default
      values:
      
       tolerance_target_factor = fdf_get("PEXSI.tolerance-target-factor",5.0_dp)
       tolerance_preconditioner = fdf_get("PEXSI.tolerance-preconditioner",1.0_dp)
      
      For reference, the old algorithm is:
      
         tolerance = Max(PEXSINumElectronToleranceMin, &
                                    Min(dDmax*1.0, PEXSINumElectronToleranceMax))
      and
      
      PEXSINumElectronToleranceMin = 
                  fdf_get("PEXSI.num-electron-tolerance-lower-bound",0.01_dp)
      PEXSINumElectronToleranceMax = 
                  fdf_get("PEXSI.num-electron-tolerance-upper-bound",0.5_dp)
      
      The tolerance will not move up, only down.
      
      The computed tolerance can still be overridden if an absolute
      tolerance is explicitly specified in the fdf file
      
         PEXSINumElectronTolerance =  fdf_get("PEXSI.num-electron-tolerance",&
                                              tolerance)
      
      modified:
        Src/m_pexsi_solver.F90
    ------------------------------------------------------------
    revno: 432.2.68 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2014-04-25 14:50:01 +0200
    message:
      Sync to trunk-456 [charge-density mixing update]
      
      See CHANGES file for more details
    ------------------------------------------------------------
    revno: 432.2.67 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2014-02-20 14:47:15 +0100
    message:
      Sync to trunk-456 [charge-density mixing update]
      
      See CHANGES file for more details
    ------------------------------------------------------------
    revno: 432.2.66
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2014-02-20 14:43:07 +0100
    message:
      Add thermal broadening to inherited bracketing intervals
      
      * When inheriting a bracketing inertia-count interval, the next
      inertia-count or solver steps start with a slightly larger interval,
      broadened by 2kT.
      
      * When the PEXSI solver does not converge, the bracketing interval
      expansion for the subsequent inertia-count step is based on the current
      solver interval, not on the latest inertia-count step's.
      
      modified:
        Src/m_pexsi_solver.F90
    ------------------------------------------------------------
    revno: 432.2.65 [merge]
    author: Georg Huhs <georg.huhs@bsc.es>
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2014-02-12 10:50:26 +0100
    message:
      Added functionality for tracing with extrae.
      
      (Georg Huhs)
      
      ('extrae' is part of the BSC tracing tools)
      
      For each timing event a user function with the same name is
      registered.  At the end of the run the file 'siesta_user_labels.pcf'
      containing the labels needed for later analysis is created. The
      content of this file needs to be appended to the *.pcf file generated
      by the tracing.
      
      For activating this functionality the code has to be compiled with the
      option 
      
      -DTRACING 
      
      and linked with the 'extrae' library.
      
      The file Src/extrae_module.f90 is taken from extrae 2.4 and might need
      to be updated when using later versions of extrae.
      
      
      When compiling with 
      
        -DTRACING_SOLVEONLY
      
      the tracing is deactivated after initializing Siesta and activated
      again before starting the first pexsi-solve phase.  This ensures that
      for some time the pexsi-solve is not corrupted by tracing-IO. If this
      time-window is too short, the event buffer size can be increased in
      extrae.xml
      
      added:
        Src/extrae_eventllist.F90
        Src/extrae_module.f90
      modified:
        Src/Makefile
        Src/SiestaXC/makefile
        Src/m_pexsi_solver.F90
        Src/siesta.F
        Src/siesta_end.F
        Src/timer.F90
        Src/Sys/marenostrum-III-extrae.make 
        ------------------------------------------------------------
        revno: 432.10.3
        committer: Georg Huhs <ghuhs@bsc.es>
        branch nick: pexsi-devel
        timestamp: Thu 2014-02-06 13:14:44 +0100
        message:
          Bugfix in Makefile
          
          Extended functionality for tracing with extrae.
          
          When compiling with 
            -DTRACING_SOLVEONLY
          the tracing is deactivated after initializing Siesta and activated again before starting the first pexsi-solve phase. 
          This ensures that for some time the pexsi-solve is not corrupted by tracing-IO. If this time-window is too short, the event buffer size can be increased in extrae.xml
          
          The user labels are now written with increasing numbering. 
        ------------------------------------------------------------
        revno: 432.10.2
        committer: Georg Huhs <ghuhs@bsc.es>
        branch nick: pexsi-devel
        timestamp: Tue 2014-02-04 21:06:29 +0100
        message:
          Fixed bug in build system
        ------------------------------------------------------------
        revno: 432.10.1
        committer: Georg Huhs <ghuhs@bsc.es>
        branch nick: pexsi-devel
        timestamp: Tue 2014-02-04 14:39:09 +0100
        message:
          Added functionality for tracing with extrae.
          
          For each timing event a user function with the same name is registered. 
          At the end of the run the file 'siesta_user_labels.pcf' containing the labels needed for later analysis is created. The content of this file needs to be appended to the *.pcf file generated by the tracing. 
          
          For activating this functionality the code has to be compiled with the option 
            -DTRACING
          and linked with the extrae-library. 
          
          The file Src/extrae_module.f90 is taken from extrae 2.4 and might need to be updated when using later versions of extrae. 
    ------------------------------------------------------------
    revno: 432.2.64 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2014-02-10 11:48:55 +0100
    message:
      Sync to trunk-455
      
      455:  [merge] Charge-density mixing
      454:  [merge] Allow the handling of ghosts of synthetic atoms
      453:  Added a simple ps-->inp converter for ATOM
      452:  Fixed a wrong threshold for the bias for transiesta...
      
      
       
    ------------------------------------------------------------
    revno: 432.2.63
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2013-12-13 19:12:36 +0100
    message:
      Add option to read a starting Hamiltonian for the scf cycle
      
      When mixing the Hamiltonian, the option
      
        Read-H-from-file T
      
      will use a starting Hamiltonian read from file H_IN. 
      
      (Note that the same option, when used with 'MaxSCFIterations 0', will
      read H to be used in post-processing, such as in (L)DOS calculation.)
      
      modified:
        Src/Makefile
        Src/m_iodm.F
        Src/siesta_forces.F
      
       
    ------------------------------------------------------------
    revno: 432.2.62 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-12-04 15:33:33 +0100
    message:
      Sync to trunk-451
      
      * Use electronic entropy from current scf step. 
      * Do not update EHarris after scf step.
      * Added message detailing which DM is used in 'post_scf_work'
       
      (See CHANGES file)
      
      modified:
        Src/Makefile
        Src/compute_dm.F
        Src/final_H_f_stress.F
        Src/local_DOS.F
        Src/m_energies.F90
        Src/post_scf_work.F
        Src/scfconvergence_test.F
        Src/setup_hamiltonian.F
        Src/siesta_init.F
        Src/write_md_record.F
        Src/write_subs.F
    ------------------------------------------------------------
    revno: 432.2.61 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Tue 2013-12-03 10:59:25 +0100
    message:
      Sync to trunk-450
      
      * Fix SiestaXC/mesh3d to avoid overflow of distributions and/or tasks
      * Fix Tbtrans runs at Gamma when using Transiesta k-point data
      * Minor fixes in XC library (JMS)
      
      (See CHANGES file)
      
      modified:
        Src/SiestaXC/cellxc.F90
        Src/SiestaXC/makefile
        Src/SiestaXC/mesh3d.F90
        Src/SiestaXC/vdwxc.F90
        Src/SiestaXC/vv_vdwxc.F90
        Util/TBTrans_rep/tbtrans.F90
    ------------------------------------------------------------
    revno: 432.2.60 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-11-25 15:19:38 +0100
    message:
      More hooks for PEXSI steering during scf-loop
      
      ** Implement an "expert" inertia-count driver and mu bracket heuristics
      
      With the option
      
        PEXSI.inertia-expert-driver T
      
      the program will call the inertia-count routine requesting a single
      iteration, and use the results in a loop to increase the number of
      criteria for convergence:
      
      -- Electron tolerance in the base interval.
      
      This reflects the basic heuristic that the integrated DOS should be more
      precise as the interval gets shorter. (This was the only criterion up to now.)
      
          PEXSI.inertia-num-electron-tolerance  [default 20]
      
      -- Workable electron tolerance in the base interval.
      
          PEXSI.inertia-min-num-electron-tolerance  [default 10]
      
      There can be problems with the algorithm if the interval is too
      small. Hence this termination criterion.
      
      -- Mu tolerance
      
      If the chemical potential has changed by less than
      
          PEXSI.inertia-mu-tolerance  [default a very small number] unit
      
      from one inertia-count iteration to the next, the cycle ends, and mu is passed
      on to the PEXSI solver.
      
      -- Energy width of the interval (deprecated, as it does not make sense
         for gapped systems)
      
      
      When the inertia-count cycle ends, the bracket passed to the PEXSI solver is:
      
        [muMinInertia, muMaxInertia]  (the refined interval)
      
      ** Implement Ef shift estimation
      
      Using H for the current and the previous iterations, and the most recent DM,
      the program estimates the change in the band-structure energy, and from it
      (assuming a rigid shift), the change in Fermi level. This is passed to
      the PEXSI solver to modify the inherited brackets.
      
      
      ** Add more heuristics for bracketting
      
      Clarification of the workflow. More options to control the number
      of inertia count steps, the bracketting convergence, and the use of
      the information about the shift in Ef:
      
      * In numInertiaCounts is negative, it indicates a minimum number of ic
        steps. There can be more, if the dDmax in the previous iteration is
        above:
      
        safe_dDmax_NoInertia = fdf_get("PEXSI.safe-dDmax-no-inertia",0.05)
      
      * Use of Ef shift:
      
        If the dDmax in the previous iteration is above, respectively:
      
        safe_dDmax_Ef_Inertia = fdf_get("PEXSI.safe-dDmax-ef-inertia",0.1)
        safe_dDmax_Ef_solver = fdf_get("PEXSI.safe-dDmax-ef-solver",0.05)
      
        the bracketting for IC and solver steps is controlled by
      
        safe_width_ic = fdf_get("PEXSI.safe-width-ic-bracket",4.0_dp*eV,"Ry")
       
        (half that width on either side of muLower and muUpper from the latest
         inertia count step)
      
        and
      
        safe_width_solver = fdf_get("PEXSI.safe-width-solver-bracket",2.0_dp*eV,"Ry")
      
        (half that width on either side of mu from the latest solver step)
      
        If the dDmax is below the above tolerance(s), the shift in Ef is used to move the
        previous brackets for IC and/or the solver
      
      
      **  Monitoring of memory peaks by calls to getrusage()
      
      A simple, and crude for now, method to display the maximum resident
      size reached at several points in the program has been implemented,
      with file rusage.f90 (an interface to the C routine getrusage()),
      memory_snapshot.f90, and memory_all.f90. This is not completely
      portable.
      
      'Memory_snapshot' prints the peak working set size reached in the root node.
      
      The routine 'memory_all' prints the maximum and minimum values of the
      peak working set size accross the processors in the communicator. Used
      only in the PEXSI routines for now.
      
      **  Implement PEXSI "Annealing"
      
      Use larger PEXSI temperatures when dDmax is far from convergence.
      This can remove instabilities for problematic systems.
      
      Options:
      
        PEXSI.use-annealing T
      
        PEXSI.annealing-preconditioner  {number} (default 1)
        PEXSI.annealing-target-factor   {number} (default 10)
      
        The effective PEXSI temperature (for solver and inertia-counts processing) is computed
        as:
      
         T = T_0 * ( 1 + precond* log(prevDmax/(target_factor*Dtol))  
      
              (with maximum of T_0)
      
        where 'Dtol' is the scf tolerance, 'prevDmax' is the previous iteration's maximum
        deviation in DM (or H), 'target_factor' determines the level at which the nominal
        temperature is reached in relation to the scf tolerance, and 'precond' is a scale
        factor for the increase in temperature.
      
        After the second iteration, the temperature decreases monotonically, regardless of
        any large fluctuations in prevDmax, to avoid convergence oscillations.
        ------------------------------------------------------------
        revno: 432.9.7
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: trunk-pexsi-brackets
        timestamp: Mon 2013-11-25 14:36:49 +0100
        message:
          Extra parameter for PEXSI "annealing"
          
          Use larger PEXSI temperatures when dDmax is far from convergence.
          This can remove instabilities for problematic systems.
          
          Options:
          
            PEXSI.use-annealing T
          
            PEXSI.annealing-preconditioner  {number} (default 1)
            PEXSI.annealing-target-factor   {number} (default 10)
          
            The effective PEXSI temperature (for solver and inertia-counts processing) is computed
            as:
          
             T = T_0 * ( 1 + precond* log(prevDmax/(target_factor*Dtol))  
          
                  (with maximum of T_0)
          
            where 'Dtol' is the scf tolerance, 'prevDmax' is the previous iteration's maximum
            deviation in DM (or H), 'target_factor' determines the level at which the nominal
            temperature is reached in relation to the scf tolerance, and 'precond' is a scale
            factor for the increase in temperature.
          
            After the second iteration, the temperature decreases monotonically, regardless of
            any large fluctuations in prevDmax, to avoid convergence oscillations.
          
          modified:
            Src/m_pexsi_solver.F90
        ------------------------------------------------------------
        revno: 432.9.6
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: trunk-pexsi-brackets
        timestamp: Fri 2013-11-22 17:14:21 +0100
        message:
          Implement PEXSI "annealing"
          
          Use larger PEXSI temperatures when dDmax is far from convergence.
          This can remove instabilities for problematic systems.
          
          Option:
          
            PEXSI.use-annealing T
            PEXSI.annealing-preconditioner  {number}
          
            See code for details.
          
          modified:
            Src/m_pexsi_solver.F90
        ------------------------------------------------------------
        revno: 432.9.5
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: trunk-pexsi-brackets
        timestamp: Thu 2013-11-21 17:09:03 +0100
        message:
          Add more heuristics for bracketting
          
          Clarification of the workflow. Many more options to control the number
          of inertia count steps, the bracketting convergence, and the use of
          the information about the shift in Ef:
          
          
          * In numInertiaCounts is negative, it indicates a minimum number of ic
            steps. There can be more, if the dDmax in the previous iteration is
            above:
          
            safe_dDmax_NoInertia = fdf_get("PEXSI.safe-dDmax-no-inertia",0.05)
          
          * Use of Ef shift:
          
            If the dDmax in the previous iteration is above:
          
            safe_dDmax_Ef_Inertia = fdf_get("PEXSI.safe-dDmax-ef-inertia",0.1)
            safe_dDmax_Ef_solver = fdf_get("PEXSI.safe-dDmax-ef-solver",0.05)
          
            the bracketting for IC and solver steps is controlled by
          
            safe_width_ic = fdf_get("PEXSI.safe-width-ic-bracket",4.0_dp*eV,"Ry")
           
            (half that width on either side of muLower and muUpper from the latest
             inertia count step)
          
            safe_width_solver = fdf_get("PEXSI.safe-width-solver-bracket",2.0_dp*eV,"Ry")
          
            (half that width on either side of mu from the latest solver step)
          
            If the dDmax is below the tolerance, the shift in Ef is used to move the
            previous brackets for IC and the solver
          
          * Cosmetics
          
            The flow is now more clear.
          
            See the code for a complete rundown of the changes. There are too many
            to list at this stage.
          
          * New version of "memory" routine with basic MPI awareness.
          
            The routine memory_all prints the maximum and minimum values of the
            peak working set size accross the processors in the
            communicator. Used only in the PEXSI routines for now.
          
          added:
            Src/memory_all.F90
          modified:
            Src/Makefile
            Src/m_pexsi_solver.F90
        ------------------------------------------------------------
        revno: 432.9.4
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: trunk-pexsi-brackets
        timestamp: Tue 2013-11-19 16:29:38 +0100
        message:
          Implement Ef shift estimation
          
          Using H for the current and the previous iterations, and the most recent DM,
          the program estimates the change in the band-structure energy, and from it
          (assuming a rigid shift), the change in Fermi level. This is passed to
          the PEXSI solver to modify the inherited brackets.
          
          added:
            Src/compute_ebs_shift.F90
          modified:
            Src/Makefile
            Src/compute_dm.F
            Src/m_pexsi_solver.F90
            Src/setup_hamiltonian.F
            Src/siesta_forces.F
            Src/sparse_matrices.F
            Src/state_init.F
        ------------------------------------------------------------
        revno: 432.9.3 [merge]
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: trunk-pexsi-brackets
        timestamp: Mon 2013-11-18 16:37:46 +0100
        message:
          Sync to trunk-pexsi-54
          
          Deallocate buffers in write_mat.
          
          (+ comment out initial memory snapshot in siesta.F -- no ionode yet)
          
          modified:
            Src/m_matio.F90
            Src/siesta.F
        ------------------------------------------------------------
        revno: 432.9.2
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: trunk-pexsi-brackets
        timestamp: Sat 2013-11-16 17:08:53 +0100
        message:
          Monitoring of memory peaks by calls to getrusage()
          
          A simple, and crude for now, method to display the maximum resident
          size so far at several points in the program has been implemented, with
          file rusage.f90 (an interface to the C routine getrusage()) and 
          memory_snapshot.f90. This is not completely portable.
          
          added:
            Src/memory_snapshot.f90
            Src/rusage.f90
          modified:
            Src/Makefile
            Src/m_pexsi_solver.F90
            Src/siesta.F
            Src/siesta_forces.F
        ------------------------------------------------------------
        revno: 432.9.1
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: trunk-pexsi-brackets
        timestamp: Wed 2013-11-06 17:08:19 +0100
        message:
          Implement an "expert" inertia-count driver and mu bracket heuristics
          
          (Work in progress)
          
          With the option
          
            PEXSI.inertia-expert-driver T
          
          the program will call the inertia-count routine requesting a single
          iteration, and use the results in a loop to increase the number of
          criteria for convergence:
          
          -- Electron tolerance in the base interval.
          
          This reflects the basic heuristic that the integrated DOS should be more
          precise as the interval gets shorter.
          
              PEXSI.inertia-num-electron-tolerance  [default 20]
          
          -- Workable electron tolerance in the base interval.
          
              PEXSI.inertia-min-num-electron-tolerance  [default 10]
          
          There can be problems with the algorithm if the interval is too small. Hence this termination criterion.
          
          -- Mu tolerance
          
          If the chemical potential has changed by less than
          
              PEXSI.inertia-mu-tolerance  [default a very small number] unit
          
          from one inertia-count iteration to the next, the cycle ends, and mu is passed
          on to the PEXSI solver.
          
          -- Energy width of the interval (deprecated, as it does not make sense
             for gapped systems)
          
          
          When the inertia-count cycle ends, the bracket passed to the PEXSI solver is:
          
            [muMinInertia, muMaxInertia]  (the refined interval)
          
          unless the user uses the option 
          
             PEXSI.UseFixedMuBracket T
          
          in which case the bracket is
          
           [muLower - delta/2, muUpper + delta/2]
          
          where delta is controlled by
          
             PEXSI.FixedMuBracket [default 0.4 eV]
          
          added:
            Src/m_interpolate.F90
          modified:
            Src/Makefile
            Src/m_pexsi_solver.F90
    ------------------------------------------------------------
    revno: 432.2.59
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-11-18 16:33:14 +0100
    message:
      Deallocate auxiliary buffers in write_mat
      
      Some buffers were not deallocated at the end of the routine.
      
      modified:
        Src/m_matio.F90
    ------------------------------------------------------------
    revno: 432.2.58
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-10-30 11:20:35 +0100
    message:
      Avoid opening .alloc file when not needed
      
      For alloc-report-level == 0, the SystemLabel.alloc file
      was still opened. This has been fixed.
      
      modified:
        Src/alloc.F90
    ------------------------------------------------------------
    revno: 432.2.57
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-10-28 11:34:27 +0100
    message:
      Fix boundary bug in SiestaXC's vdW code
      
      An erratic misbehavior of the vdW XC code has been traced
      to an improper initialization of an array. It has been fixed.
      
      (Thanks to G. Huhs and J.M. Soler)
      
      modified:
        Src/SiestaXC/mesh1d.f90
    ------------------------------------------------------------
    revno: 432.2.56 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-10-28 11:11:52 +0100
    message:
      Speedup the I/O for DM and H writes
      
      By using blocks of orbitals (according to the underlying default
      block-cyclic distribution), the sparse-matrix I/O can be speeded-up
      significantly, both by saving MPI communication and by reducing the
      number of file accesses. This is essential for large systems, for
      which the I/O could take a significant fraction of the total
      computation time.
      
      The newly re-organized DM and H information is now written to file in
      "blocked format" by default, unless the option
      
             Use.Blocked.WriteMat F
      
      is used.
      
      The new format is not backwards compatible. A converter program
      (Util/DensityMatrix/dmbs2dm.F90) has been written to post-process
      those files intended for further analysis or re-use in Siesta. This is
      the best option for now, since it allows liberal checkpointing with a
      much smaller time consumption, and only incurs costs when re-using or
      analyzing files.
      
      Note that TranSiesta will continue to produce .DM files, in the old
      format (See save_density_matrix.F)
      
      ( To test the new features, the option
      
       S.Only T
      
      can be used. It will produce three files: a standard one, another one
      with optimized MPI communications, and a third, blocked one.
      )
      
      added:
        Docs/pexsi-matio.CHANGES
        Src/m_matio.F90
        Util/DensityMatrix/dmbs2dm.F90
        Util/DensityMatrix/f2kcli.F90
        Util/DensityMatrix/m_getopts.f90
      modified:
        Src/Makefile
        Src/m_iodm.F
        Src/overlap.f
        Src/save_density_matrix.F
        Src/siesta_forces.F
        Util/DensityMatrix/makefile
        ------------------------------------------------------------
        revno: 432.8.6
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: trunk-pexsi-matio
        timestamp: Thu 2013-10-24 11:42:22 +0200
        message:
          Fix bug in dmbs2dm. Change name of argument to write_mat
          
          * A record was missing in the conversion to classic DM format by
          Util/DensityMatrix/dmbs2dm.
          
          * The optional argument to signal blocked operation in write_mat in
          module m_matio has been changed from "historical" to "compatible".
          
          modified:
            Src/m_iodm.F
            Src/m_matio.F90
            Src/overlap.f
            Src/save_density_matrix.F
            Util/DensityMatrix/dmbs2dm.F90
        ------------------------------------------------------------
        revno: 432.8.5
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: trunk-pexsi-matio
        timestamp: Wed 2013-10-23 16:04:01 +0200
        message:
          Write converter from blocked to non-blocked and deploy
          
          The newly re-organized DM and H information is now written
          to file in "blocked format" by default, unless the option
          
                 Use.Blocked.WriteMat F
          
          is used.
          
          The new format is not backwards compatible. A converter
          program (Util/DensityMatrix/dmbs2dm.F90) has been written
          to post-process those files intended for further analysis
          or re-use in Siesta. This is the best option for now, since
          it allows liberal checkpointing with a much smaller time
          consumption, and only incurs costs when re-using or analyzing
          files.
          
          Note that TranSiesta will continue to produce .DM files,
          in the old format (See save_density_matrix.F)
          
          ( To test the new features, the option
          
           S.Only T
          
          can be used. It will produce three files: a standard one,
          another one with optimized MPI communications, and a third,
          blocked one.
          )
          
          
          added:
            Util/DensityMatrix/dmbs2dm.F90
            Util/DensityMatrix/f2kcli.F90
            Util/DensityMatrix/m_getopts.f90
          modified:
            Src/Makefile
            Src/m_iodm.F
            Src/save_density_matrix.F
            Util/DensityMatrix/makefile
        ------------------------------------------------------------
        revno: 432.8.4
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: trunk-pexsi-matio
        timestamp: Tue 2013-10-22 15:11:10 +0200
        message:
          Use larger chunks for file writes
          
          The information in a whole "blocksize"-worth of data is now
          written to a single record on disk. This speeds up the I/O
          significantly.
          
          The new format is not backwards compatible. A new reading routine
          (possibly with on-the-fly blocksize changes) has to be written.
          
          modified:
            Src/Makefile
            Src/m_matio.F90
            Src/overlap.f
            Src/siesta_forces.F
        ------------------------------------------------------------
        revno: 432.8.3
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: trunk-pexsi-matio
        timestamp: Sat 2013-10-19 12:02:06 +0200
        message:
          Functional. Some cosmetics remain
        ------------------------------------------------------------
        revno: 432.8.2
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: trunk-pexsi-matio
        timestamp: Fri 2013-10-18 16:34:08 +0200
        message:
          Added listd
        ------------------------------------------------------------
        revno: 432.8.1
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: trunk-pexsi-matio
        timestamp: Fri 2013-10-18 13:04:44 +0200
        message:
          First shot at new write_Mat
    ------------------------------------------------------------
    revno: 432.2.55 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Tue 2013-10-22 16:26:04 +0200
    message:
      Sync to trunk-447
      
      * Improve the estimation of the orbital distribution blocksize
      * Output file names for dhscf packed in a derived type (JMS)
      
      See the CHANGES file.
      
      modified:
        Docs/CHANGES
        Docs/siesta.tex
        Src/Makefile
        Src/dhscf.F
        Src/files.f
        Src/grdsam.F
        Src/initparallel.F
        Src/local_DOS.F
        Src/m_dminim.F90
        Src/m_pexsi_local_dos.F90
        Src/m_zminim.F90
        Src/parallelsubs.F
        Src/setup_hamiltonian.F
        Src/siesta_analysis.F
        Src/siesta_options.F90
    ------------------------------------------------------------
    revno: 432.2.54
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-10-17 14:56:44 +0200
    message:
      Do not time 'matel' to avoid overheads
      
      For large systems, there are too many calls to matel, and
      the timer overhead is noticeable. Timing calls have been
      disabled in matel.f
      
      modified:
        Src/matel.f
    ------------------------------------------------------------
    revno: 432.2.53
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-10-17 11:35:48 +0200
    message:
      Disable parallel timer by default
      
      When large numbers of processors are used, the "parallel" timer
      (producing the TIMES file) might be inefficient, and introduce
      inbalances in the "tree_timer" (based on walltime on the root node).
      
      The "parallel" timer has been disabled by default. It can be 
      enabled by
      
        Use.Parallel.Timer T
      
      (The "tree_timer" is on by default. It can be disabled by
      
        Use.Tree.Timer F
      )
      
      modified:
        Src/siesta_init.F
        Src/timer.F90
    ------------------------------------------------------------
    revno: 432.2.52
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-10-16 14:22:13 +0200
    message:
      Wrap timing call. Simplify DOS routine. Add output to unit 6.
      
      * A timing call for IterMD was performed by all processors. It has
        been wrapped so that only the SIESTA-workers perform it.
      
      * The new DOS routine now makes a single call to the raw-inertia-count
        routine, with the entire interval and set of shifts.
      
      * A number of output statements have been changed from "write(*, )"
        to "write(6, )" form, and viceversa. If the command-line option
        " -o OUTfile" is used, output to unit 6 will be redirected to
        OUTfile. The rest will end up in the default standard output stream.
        
      modified:
        Src/m_iodm.F
        Src/m_pexsi_dos.F90
        Src/m_pexsi_local_dos.F90
        Src/m_pexsi_solver.F90
        Src/siesta_forces.F
        Src/timer_tree.f90
    ------------------------------------------------------------
    revno: 432.2.51 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-10-14 16:00:32 +0200
    message:
      Richer matrix I/O to facilitate analysis
      
      * Save Hamiltonian and/or DM with proper filenames
      
      New file names:
      
      DM_MIXED: Useful for checkpointing
      DM_OUT:   Last DM computed
      
      H_MIXED:  Useful for checkpointing
      H_DMGEN:  Last H from which the electronic structure was computed
      
      The "mixed" files are produced only in the appropriate runs (MixDM
      (default), or MixHamiltonian).
      
      Other options affecting which files are written:
      
      - Checkpointing options:
      
      WriteDM
      WriteH
      
      - Analysis options:
      
      WriteDM.end.of.cycle
      WriteH.end.of.cycle
      
      - Backwards compatibility:
      
      SCF.MixAfterConvergence
      
      
      * With the option
      
         read-H-from-file T
      
      the program will attempt to read H from the file "H_IN". This is
      useful when performing analyses which only need H (and S), but not
      the DM. 
      
      For example, to compute bands, or (p)DOS:
      
      (... options for bands or (p)DOS...)
      max-scf-iterations 0
      read-H-from-file T
      
      Optionally, since the Fermi level is not computed in these cases, it
      can be set directly in the fdf file:
      
         manual-fermi-level -3.05 eV
      
      The program might still attempt to initialize the DM, and print messages
      mentioning DM input. These are cosmetic issues, but the user should be
      aware that this options are to be used with care.
      
      (+ Place timing call for Analysis in the correct place)
      
      modified:
        Src/Makefile
        Src/m_iodm.F
        Src/m_pexsi_dos.F90
        Src/save_density_matrix.F
        Src/siesta_analysis.F
        Src/siesta_forces.F
        Src/siesta_options.F90
        ------------------------------------------------------------
        revno: 432.7.2
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-Hio
        timestamp: Mon 2013-10-14 15:05:44 +0200
        message:
          Optionally read the Hamiltonian for analysis
          
          With the option
          
             read-H-from-file T
          
          the program will attempt to read H from the file "H_IN". This is
          useful when performing analyses which only need H (and S), but not
          the DM. 
          
          For example, to compute bands, or (p)DOS:
          
          (... options for bands or (p)DOS...)
          max-scf-iterations 0
          read-H-from-file T
          
          Optionally, since the Fermi level is not computed in these cases, it
          can be set directly in the fdf file:
          
             manual-fermi-level -3.05 eV
          
          The program might still attempt to initialize the DM, and print messages
          mentioning DM input. These are cosmetic issues, but the user should be
          aware that this options are to be used with care.
          
          
          modified:
            Src/siesta_analysis.F
        ------------------------------------------------------------
        revno: 432.7.1
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-Hio
        timestamp: Mon 2013-10-14 13:02:39 +0200
        message:
          Save Hamiltonian and/or DM with proper filenames
          
          New file names:
          
          DM_MIXED: Useful for checkpointing
          DM_OUT:   Last DM computed
          
          H_MIXED:  Useful for checkpointing
          H_DMGEN:  Last H from which the electronic structure was computed
          
          The "mixed" files are produced only in the appropriate runs (MixDM
          (default), or MixHamiltonian).
          
          Other options affecting which files are written:
          
          - Checkpointing options:
          
          WriteDM
          WriteH
          
          - Analysis options:
          
          WriteDM.end.of.cycle
          WriteH.end.of.cycle
          
          - Backwards compatibility:
          
          SCF.MixAfterConvergence
          
          modified:
            Src/Makefile
            Src/m_iodm.F
            Src/save_density_matrix.F
            Src/siesta_forces.F
            Src/siesta_options.F90
    ------------------------------------------------------------
    revno: 432.2.50 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-10-14 11:17:13 +0200
    message:
      Implement cumulative DOS calculation based on raw inertia counts. H flow.
      
      * A new routine (in m_pexsi_dos) can now compute the cumulative DOS
      in a certain enery range using the inertia-count interface.
      
      The routine is activated by
      
      PEXSI.DOS T
      
      and the energy range is specified by:
      
      PEXSI.DOS.emin Energy unit
      PEXSI.DOS.emax Energy unit
      
      If the option
      
         PEXSI.DOS.Ef.Reference   [ T | F ]
      
      is true, the above energies are referred to the Fermi level.
      
      The program produces a file called PEXSI_INTDOS, which contains a
      first line with the Fermi level and the number of electrons, and then
      a number of lines with an energy value (in eV) and the inertia count
      for that value.
      
      The number of energy values (shifts) used can be controlled by the option
      
          PEXSI.DOS.npoints    [ default 200 ]
      
      The actual number will be increased if it is not a multiple of
      nNodes/npPerPole.
      
      The cumulative DOS can be post-processed in a number of ways. One
      option is to generate a file with "approximate eigenvalues" located at
      the points at which there are jumps in the cumulative DOS. This is
      implemented in Util/PEXSI/intdos2eig, which produces a file suitable
      for treatment with Util/Eig2DOS.
      
      * Automated the compilation of the dummy PEXSI library, including
      an option to consider only the new raw-inertia-counts routine.
      See Src/dummy_pexsi.
      
      * final_H_f_stress does not update H (nor S) (even though it writes out
        updated versions to the .HS and .TSHS files...), unless the option
      
           	 UpdateHamiltonianAfterSCF  T
      
        is used (S is still not updated).
      
        The final H going through to the analysis section is then:
       
        -- If mixing the DM, the last H generated and used to compute the DM
      
        -- If mixing H, a mixed version if performing a final mix after convergence.
           If not mixing after convergence, the H used to compute the DM (i.e., Hold).
      
           (To avoid mixing after convergence, use "SCF.MixAfterConvergence F". This
            should be made the default soon).
      
        This should be made more explicit at the argument level.
        ------------------------------------------------------------
        revno: 432.6.6
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-dos-bs
        timestamp: Mon 2013-10-14 10:26:23 +0200
        message:
          Option for backwards compatibility in final_H_f_stress
          
          With the option
          
               	 UpdateHamiltonianAfterSCF  T
          
          the program will indeed update H (but still not S) while computing
          the forces and stress. The default (in the PEXSI branch) is not to
          update H.
          
          modified:
            Src/final_H_f_stress.F
        ------------------------------------------------------------
        revno: 432.6.5
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-dos-bs
        timestamp: Wed 2013-10-09 15:47:34 +0200
        message:
          Reduce memory use in m_pexsi_dos
          
          Removed "saved H and S" arrays, as they are 'intent(in)' for the
          raw-inertia-count routine.
          
          (There are still some issues with the routine itself)
          
          modified:
            Src/m_pexsi_dos.F90
        ------------------------------------------------------------
        revno: 432.6.4 [merge]
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-dos-bs
        timestamp: Mon 2013-10-07 12:43:41 +0200
        message:
          Merge with trunk-pexsi
          
          [ Add option to write the DM at the end of the SCF loop ]
        ------------------------------------------------------------
        revno: 432.6.3
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-dos-bs
        timestamp: Mon 2013-10-07 12:36:42 +0200
        message:
          Use new raw-inertia-counts interface for DOS calculation
          
          * Updated the new raw-inertia-counts interface specification and
          used it in the m_pexsi_dos module.
          
          * Automated the compilation of the dummy PEXSI library, including
          an option to consider only the new raw-inertia-counts routine.
          See Src/dummy_pexsi.
          
          added:
            Src/dummy_pexsi/inertiacount.c
            Src/dummy_pexsi/local_dos.c
            Src/dummy_pexsi/makefile
            Src/dummy_pexsi/raw_inertiacount.c
            Src/dummy_pexsi/solver.c
          modified:
            Src/Makefile
            Src/m_pexsi_dos.F90
            Src/m_pexsi_interface.f90
            Src/dummy_pexsi/README
        ------------------------------------------------------------
        revno: 432.6.2
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-dos-bs
        timestamp: Fri 2013-10-04 16:17:36 +0200
        message:
          Refinements and bug fixes for DOS based on inertia-counts
          
          * Broadcast Ef...
          
          * Add the option to consider either an absolute energy range, or
          one referred to the fermi level (ef+emin,ef+emax).
          
          * Use a very low temperature in the calls to the inertia-count routine
            for DOS
          
          * Deallocate the auxiliary transfer matrices in the DOS routine.
          
          * Prepare new raw-inertia-counts interface specification
          
          * final_H_f_stress does not update H and S (even though it writes out
            updated versions to the .HS and .TSHS files...). The final H going
            through is then:
           
            -- If mixing the DM, the last H generated and used to compute the DM
            -- If mixing H, a mixed version if performing a final mix after convergence.
               If not mixing after convergence, the H used to compute the DM (i.e., Hold).
          
            This should be made explicit at the argument level.
          
          modified:
            Src/final_H_f_stress.F
            Src/m_pexsi_dos.F90
            Src/m_pexsi_interface.f90
            Src/siesta_analysis.F
        ------------------------------------------------------------
        revno: 432.6.1
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-dos-bs
        timestamp: Mon 2013-09-30 16:28:11 +0200
        message:
          First implementation of DOS based on inertia-counts
          
          So far, only the IntDOS is printed out.
          
          added:
            Src/m_pexsi_dos.F90
          modified:
            Src/Makefile
            Src/siesta_analysis.F
    ------------------------------------------------------------
    revno: 432.2.49
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-10-09 12:13:37 +0200
    message:
      Re-organize some timing labels
      
      The timing label 'IterMD' now corresponds explicitly to 'siesta_forces',
      and there is a separate label 'SiestaMove' for the 'siesta_move' routine.
      
      These, together with "Setup", and "Analysis", complete the four main
      blocks of timing information.
      
      Additionally, timing calls for the "cellxc" routine(s) have been added.
      
      modified:
        Src/dhscf.F
        Src/siesta_forces.F
        Src/siesta_move.F
        Src/state_init.F
    ------------------------------------------------------------
    revno: 432.2.48
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-10-07 11:34:51 +0200
    message:
      Add option to write the DM at the end of the SCF loop
      
      For cases in which the DM checkpointing during the scf cycle is not
      desirable, the option
      
      WriteDM.End.Of.Cycle  T
      
      allows one final saving at the end of the cycle.
      By default, this option is turned on if the more general option
      
      WriteDM T
      
      is in effect. 
      
      The conditions upon which the DM (whether mixed or 'dm_out') are saved
      are now spelled out through an explicit argument to the saving
      routine. The end-of-cycle saving section in 'siesta_forces' has been
      moved to an internal routine.
      
      ( + Add timing call for 'siesta_analysis')
      
      modified:
        Src/save_density_matrix.F
        Src/siesta_analysis.F
        Src/siesta_forces.F
        Src/siesta_options.F90
    ------------------------------------------------------------
    revno: 432.2.47 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-09-30 12:58:27 +0200
    message:
      Sync to trunk-445
      
      "New mixing options and simplification of scf loop"
      
      See the CHANGES file for a complete description of the latest features
      merged:
      
      Fixes for TranSiesta continuation and scf loop logic.
      Normalize the DM in the routines that handle it.
      Optionally avoid mixing DM or H after scf-convergence.
      Implement Hamiltonian mixing
      More options for Pulay mixing
      
      (Note that the option to mix the Hamiltonian was already present in the PEXSI
      branch)
    ------------------------------------------------------------
    revno: 432.2.46 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-09-30 12:48:27 +0200
    message:
      Merge new mixing options
      
      The new mixing options were merged from a side branch first.
      An upcoming revision will sync with the trunk and pick up
      the CHANGES file.
        ------------------------------------------------------------
        revno: 432.5.6 [merge]
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-mixing
        timestamp: Mon 2013-09-30 11:52:29 +0200
        message:
          Documentation for latest features
          
          Merged trunk-mixing--6. See Mixing.CHANGES.
        ------------------------------------------------------------
        revno: 432.5.5 [merge]
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-mixing
        timestamp: Fri 2013-09-20 10:59:40 +0200
        message:
          Fixes for TranSiesta continuation and scf loop logic
          
          Merged trunk-mixing--5. See Mixing.CHANGES.
        ------------------------------------------------------------
        revno: 432.5.4 [merge]
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-mixing
        timestamp: Mon 2013-09-16 12:03:40 +0200
        message:
          Normalize the DM in the routines that handle it
          
          Merged trunk-mixing--4. See Mixing.CHANGES.
        ------------------------------------------------------------
        revno: 432.5.3 [merge]
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-mixing
        timestamp: Fri 2013-09-13 15:39:18 +0200
        message:
          Optionally avoid mixing DM or H after scf-convergence
          
          Merged trunk-mixing--3. See Mixing.CHANGES.
        ------------------------------------------------------------
        revno: 432.5.2 [merge]
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-mixing
        timestamp: Fri 2013-09-13 15:11:37 +0200
        message:
          (Sync patchlogs for H mixing)
          
          Merged trunk-mixing--2. See Mixing.CHANGES.
          No changes to the code needed.
        ------------------------------------------------------------
        revno: 432.5.1 [merge]
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-mixing
        timestamp: Fri 2013-09-13 14:51:36 +0200
        message:
          More options for Pulay mixing
          
          Merged trunk-mixing--1. See Mixing.CHANGES.
    ------------------------------------------------------------
    revno: 432.2.45 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2013-09-13 12:51:59 +0200
    message:
      Sync to trunk-444
      
      [merge] Bug fixes to the preconditioner in the OMM modules
    ------------------------------------------------------------
    revno: 432.2.44
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2013-09-06 12:56:20 +0200
    message:
      New PEXSI interface blocks based on ISO_C_BINDING
      
      This new mechanism, implemented by most compilers, guarantees datatype
      consistency and future-proofs the interface against a repeat of problems
      such as the passing of assumed-shape arrays.
      
      A set of dummy C routines have been created to test the interface in
      the absence of the library itself.
      
      removed:
        Src/pexsi_inertia.h
        Src/pexsi_interface.F90
        Src/pexsi_localdos.h
        Src/pexsi_solve.h
      added:
        Src/dummy_pexsi/
        Src/dummy_pexsi/README
        Src/dummy_pexsi/dummy_pexsi.c
        Src/m_pexsi_interface.f90
      modified:
        Src/Makefile
        Src/m_pexsi_local_dos.F90
        Src/m_pexsi_solver.F90
    ------------------------------------------------------------
    revno: 432.2.43
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-09-04 12:39:52 +0200
    message:
      Changes for compilation on Edison
      
      * The interface files were using the "assumed shape" array
        specification, instead of the "assumed size" one needed for
        interfacing to C. Apparently the PGI and gfortran compilers did not
        care about this, but the Intel compiler does. The array
        specifications have been changed from "(:)" to "(*)".
      
      * In m_redist_spmatrix, use "only" clauses for import of mpi symbols, to
        work around some name pollution.
      
      modified:
        Src/m_redist_spmatrix.F90
        Src/pexsi_inertia.h
        Src/pexsi_localdos.h
        Src/pexsi_solve.h
    ------------------------------------------------------------
    revno: 432.2.42
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-08-29 15:53:19 +0200
    message:
      Fix code for the case of H mixing.
      
      * Note that when mixing H the column dDmax no longer refers to DM_out -
      DM_in, but to "dHmax" (change of H with respect to the previous step).
      
      * Update Hold in compute_dm.
      
      * With the option
      
        MonitorForcesInSCF T
      
      the program prints the maximum absolute value of F_i - F_i(previous step)
      for the forces. When mixing the hamiltonian, extra code has to be inserted
      to preserve H.
      
      modified:
        Src/compute_dm.F
        Src/siesta_forces.F
        Docs/siesta.tex
    ------------------------------------------------------------
    revno: 432.2.41
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-08-28 17:00:12 +0200
    message:
      Implement Hamiltonian mixing
      
      Ported first basic patch from trunk-scf branch. Use the option
      
        MixHamiltonian T
      
      to enable mixing of H instead of the DM.
      
      Note that the convergence criterion is still based on the DM, i.e.,
      on || DM_out - DM_in || < tolerance.
      
      There is as yet no provision for input of H or re-use of H across
      geometries.
      
      modified:
        Docs/siesta.tex
        Src/Makefile
        Src/compute_dm.F
        Src/m_ts_global_vars.f90
        Src/m_ts_options.F90
        Src/mixer.F
        Src/setup_hamiltonian.F
        Src/siesta_forces.F
        Src/siesta_options.F90
        Src/sparse_matrices.F
        Src/state_init.F
    ------------------------------------------------------------
    revno: 432.2.40
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-08-28 16:26:14 +0200
    message:
      Compute explicitly the electronic entropy in PEXSI
      
      * Modified the computation of the electronic free energy
      to pass back the entropy to the caller routine.
      
      * For completeness, added a print statement for the entropy
      in diagonalization runs.
      
      modified:
        Src/compute_dm.F
        Src/m_pexsi_solver.F90
    ------------------------------------------------------------
    revno: 432.2.39
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-08-01 12:30:08 +0200
    message:
      Update interface to v0.4.6 (npSymbFact)
      
      * Updated PEXSI calls to take into account the new parameter to
      optionally set the number of processors used for the symbolic
      factorization. The relevant fdf symbol is
      
      PEXSI.np-SymbFact
      
      * Added timing calls to the PEXSI solver and inertia-count sections.
      
      modified:
        Src/m_pexsi_local_dos.F90
        Src/m_pexsi_solver.F90
        Src/pexsi_inertia.h
        Src/pexsi_localdos.h
        Src/pexsi_solve.h
    ------------------------------------------------------------
    revno: 432.2.38 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-07-31 16:14:54 +0200
    message:
      Sync to trunk-443
      
      New patches:
      
      * Update to gnubands program.
      * Cosmetic fixes to please Cray compiler. PRACE arch.make files.
      * Siesta as subroutine using MPI. Vydrov-VanVoorhis vdW functional.
        (Note: The MPI version of the "server/subroutine" option does not
         yet work with PEXSI)
      * Bug fixes in constraints routine.
      * New option for KB projector generation
      * Charge confinement and filteret basis sets.
      * Compilation fixes for tbtrans. Cosmetic changes.
    ------------------------------------------------------------
    revno: 432.2.37 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-07-04 16:43:23 +0200
    message:
      Use alloc module in pexsi. New 'matrix' mode. Fix index arrays
      
      (Georg Huhs, A. Garcia)
      
      * To facilitate the memory accounting, simple "allocate" statements
        have been replaced by calls to the alloc module in the PEXSI section.
      
      * A new "SolutionMethod", "matrix", has been implemented. This option
        makes the program stop after creating two ASCII files, H.matrix and
        S.matrix, containing H and S and the appropriate index arrays. For the
        format, see the routine write_hs_formatted in m_hsx.F
      
      * Some auxiliary index arrays intended only for O(N) calculations were
        allocated unconditionally. This has been fixed.
        
      modified:
        Docs/pexsi.CHANGES
        Src/Makefile
        Src/compute_dm.F
        Src/initparallel.F
        Src/m_hsx.F
        Src/m_pexsi_solver.F90
        Src/m_redist_spmatrix.F90
        Src/siesta_options.F90
        ------------------------------------------------------------
        revno: 432.4.9
        committer: Georg Huhs <ghuhs@bsc.es>
        branch nick: trunk-pexsi-richer
        timestamp: Thu 2013-07-04 14:44:12 +0200
        message:
          Added functionality for writing matrices to ASCII files 
          Activated in fdf file by 'SolutionMethod matrix'
          By now simple version, just writing H and S instead of calling a solver
        ------------------------------------------------------------
        revno: 432.4.8
        committer: Georg Huhs <ghuhs@bsc.es>
        branch nick: trunk-pexsi-richer
        timestamp: Wed 2013-07-03 15:25:48 +0200
        message:
          Changed several allocations in m_pexsi_solver and m_redist_spmatrix to re_alloc and de_alloc 
        ------------------------------------------------------------
        revno: 432.4.7 [merge]
        committer: Georg Huhs <ghuhs@bsc.es>
        branch nick: trunk-pexsi-richer
        timestamp: Tue 2013-06-18 17:28:50 +0200
        message:
          Merge with trunk rev 465
        ------------------------------------------------------------
        revno: 432.4.6
        committer: Georg Huhs <ghuhs@bsc.es>
        branch nick: trunk-pexsi-richer
        timestamp: Tue 2013-06-18 17:26:03 +0200
        message:
          Removed memory leak
        ------------------------------------------------------------
        revno: 432.4.5 [merge]
        committer: Georg Huhs <ghuhs@bsc.es>
        branch nick: trunk-pexsi-richer
        timestamp: Thu 2013-06-06 07:00:19 -0400
        message:
          Merged with Alberto's redistribution routines
    ------------------------------------------------------------
    revno: 432.2.36
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2013-06-07 14:59:06 +0200
    message:
      Command-line option to specify output file. More timings
      
      * Experimental support for command-line arguments has been added.
      Currently only one option is in effect:
      
          siesta -o OUTFILE
      
      will write output to "OUTFILE" instead of to standard output.
      This is done by closing and re-opening unit 6. 
      It is useful to avoid unwanted output to stdout by some libraries.
      
      * Add timer calls for the new re-distribution routines.
      
      * Use the tree timer by default.
      
      modified:
        Src/Makefile
        Src/m_pexsi_solver.F90
        Src/siesta_init.F
    ------------------------------------------------------------
    revno: 432.2.35
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-06-05 16:52:58 +0200
    message:
      Units in energy options. Better output. Rationalize debug output
      
      Full set of options and defaults for PEXSI (note energy units now):
      
      npPerPole  = fdf_get("PEXSI.np-per-pole",4)
      numPole    = fdf_get("PEXSI.num-poles",20)
      
      ! Hardly used?
      gap        = fdf_get("PEXSI.gap",0.0_dp,"Ry")
      deltaE     = fdf_get("PEXSI.delta-E",3.0_dp,"Ry")
      
      Tolerance heuristics:
      
      PEXSINumElectronToleranceMin = fdf_get("PEXSI.num-electron-tolerance-lower-bound",0.01_dp)
      PEXSINumElectronToleranceMax = fdf_get("PEXSI.num-electron-tolerance-upper-bound",0.5_dp)
      
      (Heuristics overriden by 
          PEXSINumElectronTolerance = fdf_get("PEXSI.num-electron-tolerance",...) )
      
      
      muMaxIter  = fdf_get("PEXSI.mu-max-iter",10)
      
      ! For feedback in case of wrong interval
      lateral_expansion_solver = fdf_get("PEXSI.lateral-expansion-solver",0.2_dp,"Ry")
      lateral_expansion_inertia = fdf_get("PEXSI.lateral-expansion-inertia",0.2_dp,"Ry")
      
      mu = fdf_get("PEXSI.mu",-0.60_dp,"Ry")
      muMin0           = fdf_get("PEXSI.mu-min",-1.0_dp,"Ry")
      muMax0           = fdf_get("PEXSI.mu-max", 0.0_dp,"Ry")
      
      isInertiaCount = fdf_get("PEXSI.inertia-count",1)
      numInertiaCounts = fdf_get("PEXSI.inertia-counts",3)
      inertiaMaxIter   = fdf_get("PEXSI.inertia-max-iter",5)
      inertiaNumElectronTolerance = fdf_get("PEXSI.inertia-num-electron-tolerance",10)
      numMinICountShifts = fdf_get("PEXSI.inertia-min-num-shifts", 10)
      
      ordering = fdf_get("PEXSI.ordering",1)
      
      modified:
        Src/m_pexsi_solver.F90
        Src/m_redist_spmatrix.F90
    ------------------------------------------------------------
    revno: 432.2.34 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Tue 2013-06-04 16:41:12 +0200
    message:
      New strategies for number of shifts and electron tolerance (G. Huhs)
      
         * the number of shifts for inertia count
         * adapting numElectronTolerance in PEXSI depending on dmax
        
        New fdf parameters: 
        PEXSI.inertia-min-num-shifts
        PEXSI.num-electron-tolerance-upper-bound 
        PEXSI.num-electron-tolerance-lower-bound  
      
      (With minor changes over Georg's version by Alberto Garcia)
      
      modified:
        Src/m_pexsi_solver.F90
        Src/siesta_forces.F
        ------------------------------------------------------------
        revno: 432.4.4
        committer: Georg Huhs <ghuhs@bsc.es>
        branch nick: trunk-pexsi-richer
        timestamp: Tue 2013-06-04 10:11:44 +0200
        message:
          New strategies for 
           * the number of shifts for inertia count
           * adapting numElectronTolerance in PEXSI depending on dmax
          
          New fdf parameters: 
          PEXSI.inertia-min-num-shifts
          PEXSI.num-electron-tolerance-upper-bound 
          PEXSI.num-electron-tolerance-lower-bound  
        ------------------------------------------------------------
        revno: 432.4.3 [merge]
        committer: Georg Huhs <ghuhs@bsc.es>
        branch nick: trunk-pexsi-richer
        timestamp: Wed 2013-05-22 10:21:45 +0200
        message:
          Merge with trunk-pexsi
        ------------------------------------------------------------
        revno: 432.4.2 [merge]
        committer: Georg Huhs <ghuhs@bsc.es>
        branch nick: trunk-pexsi-richer
        timestamp: Sat 2013-04-27 23:18:44 +0200
        message:
          Merge with trunk-pexsi and adopted to new interface
    ------------------------------------------------------------
    revno: 432.2.33
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-newdist
    timestamp: Tue 2013-06-04 15:42:04 +0200
    message:
      Assorted fixes to redistribution routines. LDOS redistribution
      
      Fixed some subtle bugs in the routines.
      Enabled re-distribution for the PEXSI-LDOS calculation.
      
      modified:
        Src/Makefile
        Src/m_pexsi_local_dos.F90
        Src/m_pexsi_solver.F90
        Src/m_redist_spmatrix.F90
        Src/m_transfers.F90
        Src/parallel.F
        Src/siesta_init.F
    ------------------------------------------------------------
    revno: 432.2.32
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: pexsi-newdist
    timestamp: Mon 2013-06-03 11:35:27 +0200
    message:
      Implemented redistribution routines
      
      Siesta can now work with its own arbitrary number of processors
      (specified through the fdf variable MPI.Nprocs.SIESTA), which can
      be different from the number of processors per pole in PEXSI  (specified
      through PEXSI.np-per-pole).
      
      A few rough edges and debug statements might remain.
      Yet to be implemented: redistribution before and after the LDOS routine.
      
      added:
        Src/basic_type.inc
        Src/class_BlockCyclicDist.F90
        Src/class_Dist.F90
        Src/class_PEXSIDist.F90
        Src/m_comm.F90
        Src/m_object_debug.F90
        Src/m_redist_spmatrix.F90
        Src/m_transfers.F90
        Src/m_uuid.f90
      renamed:
        Src/m_pexsi_local_DOS.F90 => Src/m_pexsi_local_dos.F90
      modified:
        Src/Makefile
        Src/compute_dm.F
        Src/initparallel.F
        Src/m_pexsi_solver.F90
        Src/parallel.F
        Src/siesta.F
        Src/siesta_analysis.F
        Src/siesta_end.F
        Src/siesta_forces.F
        Src/siesta_init.F
        Src/m_pexsi_local_dos.F90
    ------------------------------------------------------------
    revno: 432.2.31
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-05-22 09:12:33 +0200
    message:
      Fix units in fdf input for LDOS-Selected-Inversion interface
      
      Relevant fdf variables:
      
      PEXSI.LocalDOS         (true or false, to enable LDOS-SI)
      PEXSI.LocalDOS.Energy  ENERGY unit          
      PEXSI.LocalDOS.Broadening  BROADENING unit    (i.e., must specify unit)
      
      modified:
        Src/m_pexsi_local_DOS.F90
    ------------------------------------------------------------
    revno: 432.2.30
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-05-15 16:14:54 +0200
    message:
      First implementation of LDOS-Selected-Inversion interface
      
      Relevant fdf variables:
      
      PEXSI.LocalDOS
      PEXSI.LocalDOS.Energy
      PEXSI.LocalDOS.Broadening
      
      added:
        Src/m_pexsi_local_DOS.F90
        Src/pexsi_localdos.h
      modified:
        Src/Makefile
        Src/pexsi_interface.F90
        Src/siesta.F
        Src/siesta_analysis.F
    ------------------------------------------------------------
    revno: 432.2.29
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Tue 2013-05-14 17:28:52 +0200
    message:
      Fix a bug in fallback loop for inertia count bracketting. scf prefix
      
      I was using "npPerPole" instead of "numPole" as the size of the
      inertiaList and shiftList arrays. 
      
      Replaced "siesta:" by "scf:" as the output prefix of the scf step
      information.
      
      modified:
        Src/m_pexsi_solver.F90
        Src/write_subs.F
    ------------------------------------------------------------
    revno: 432.2.28
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2013-05-10 14:22:35 +0200
    message:
      Implement fallback loops for inertia count and solver bracketting
      
      On error conditions, try to expand the bracketting interval and
      re-compute the inertia-counts. This is also done if the solver
      call returns with a non-correct number of electrons.
      
      By default, an scf step inherits the latest (muMin,muMax) interval
      from an inertia-count calculation.
      
      modified:
        Src/m_mpi_utils.F
        Src/m_pexsi_solver.F90
    ------------------------------------------------------------
    revno: 432.2.27
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Tue 2013-05-07 18:06:19 +0200
    message:
      Fix a bug, clarify the flow, and add placeholders
      
      The meaning of the "tolerance" parameter for inertia counts
      was misunderstood, and set to a very low value.
      
      The flow of control in siesta_forces has been clarified, with
      broadcast of iscf and better sectioning.
      
      A placeholder for the handling of the mu interval has been
      created.
      
      modified:
        Src/m_pexsi_solver.F90
        Src/siesta_forces.F
        Src/siesta_init.F
    ------------------------------------------------------------
    revno: 432.2.26
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-05-02 15:06:28 +0200
    message:
      Add 'info' parameter to PEXSI interface
      
      modified:
        Src/m_pexsi_solver.F90
        Src/pexsi_inertia.h
        Src/pexsi_interface.F90
        Src/pexsi_solve.h
    ------------------------------------------------------------
    revno: 432.2.25
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2013-04-26 12:37:54 +0200
    message:
      Remove poleTolerance from the interface. Finite T inertia count
      
      Lin made some changes to the PEXSI interface. The new update includes, 
      in his words:
      
      1) Inertia count.  The "finite temperature inertia count" strategy is
        now implemented (as given by a note I sent on 04/01).  With finite
        temperature taken into account, I expect that the code is going to
        be more accurate and more stable, especially for metallic systems or
        odd-number electron systems (such as SiH).  The number of
        mu-iterations should also be more reasonable.
      
      2) Pole expansion.  The parameter poleTolerance is now removed.  The
        reason is that I think there is really no way to realistically
        adjust this parameter from users' point of view.  On the other hand,
        we know about 1/3 of the poles in the pole expansion has very tiny
        weight, due to the nature of the Fermi-Dirac distribution.  I have
        implemented a strategy to dynamically adjust the number of poles
        given the numElectronTolerance as well as numPole.  As a result, all
        numPoles will have significant contributions to the computation.
        That means no poles will be skipped in the calculation.  This should
        also improve the load balancing.  This change also means that the
        number of poles used (numPole) parameter can be chosen to be less
        than before.
      
      3) Error estimate of the pole expansion.  I implemented a way to
        roughly estimate the error of the pole expansion in terms of the
        relative accuracy for computing the number of electrons.  You can
        search in logPEXSIxxx and find sentences like
      
      
      "Pole expansion indicates that the relative error of numElectron is
      bounded by 6.769894e-09 Required relative accuracy:
      numElectronTolerance / numElectronExact is 4.0950041e-06"
      
      It provides some rough idea how accurate the pole expansion is.
      
      modified:
        Src/m_pexsi_solver.F90
        Src/pexsi_solve.h
    ------------------------------------------------------------
    revno: 432.2.24 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-04-25 16:06:24 +0200
    message:
      First implementation of interface with smarter mu intervals
      
      This is basically the implementation by Georg Huhs of the new interface,
      with some modifications by A. Garcia (notably, the scf step number (iscf)
      is passed to the PEXSI solver directly).
      
      There are now two entry points to PEXSI:
      
      f_ppexsi_inertiacount_interface
      f_ppexsi_solve_interface
      
      together with new parameters to determine the behavior of the code.
      Full documentation will be produced at the time of final merging.
      
      removed:
        Src/pexsi.h
      added:
        Docs/pexsi-gh-richer.CHANGES
        Src/pexsi_inertia.h
        Src/pexsi_solve.h
      modified:
        Src/Makefile
        Src/compute_dm.F
        Src/m_pexsi_solver.F90
        Src/pexsi_interface.F90
        Src/siesta_init.F
        ------------------------------------------------------------
        revno: 432.4.1
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-inertia-georg
        timestamp: Thu 2013-04-25 15:57:27 +0200
        message:
          Smarter interface with interval guessing by inertia counts
          
          This is the implementation by Georg Huhs of the new interface.
          
          There are now two entry points to PEXSI:
          
          f_ppexsi_inertiacount_interface
          f_ppexsi_solve_interface
          
          together with new parameters to determine the behavior of the code.
          Full documentation will be produced at the time of merging.
          
          (the dummy file pexsi_interface.F90, and the Makefile, was updated
          by A. Garcia)
          
          removed:
            Src/pexsi.h
          added:
            Docs/pexsi-gh-richer.CHANGES
            Src/pexsi_inertia.h
            Src/pexsi_solve.h
          modified:
            Src/Makefile
            Src/m_pexsi_solver.F90
            Src/pexsi_interface.F90
    ------------------------------------------------------------
    revno: 432.2.23
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-04-01 10:08:01 +0200
    message:
      New option to estimate chemical potential in PEXSI
      
      PEXSI.inertia-count 1
      
      (set by default) will tell the interface to estimate the initial
      chemical potential by the method of "inertia counts" (determination of
      the number of eigenvalues to the left of a given real number, by LDL^T
      factorization of the shifted Hamiltonian).
      
      modified:
        Src/m_pexsi_solver.F90
        Src/pexsi.h
        Src/pexsi_interface.F90
    ------------------------------------------------------------
    revno: 432.2.22
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-04-01 00:54:12 +0200
    message:
      New header file to consolidate interface
      
      Created file pexsi.h to hold the header information for the
      PEXSI interface routine. It is 'included' in m_pexsi_solver
      and in pexsi_interface.
      
      Moved files from previous stages to new directory OldPEXSI.
      
      added:
        Src/OldPEXSI/
        Src/pexsi.h
      renamed:
        Src/pexsi.F90 => Src/OldPEXSI/pexsi.F90
        Src/pexsi_dump.F90 => Src/OldPEXSI/pexsi_dump.F90
        Src/pexsi_exchange.F90 => Src/OldPEXSI/pexsi_exchange.F90
      modified:
        Src/Makefile
        Src/m_pexsi_solver.F90
        Src/pexsi_interface.F90
    ------------------------------------------------------------
    revno: 432.2.21 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-04-01 00:34:48 +0200
    message:
      Interface block for PEXSI. Mu history additions. Comments for distribution
      
      Added an interface block for the pexsi interface.  The routine is
      added to a library, which is linked if needed (specified in COMP_LIBS
      in the arch.make file).
      
      The dummy pexsi routine prints its arguments, and sets a few dummy
      output variables.  Currently the DM is not set, so the program crashes
      in the normalization test.
      
      New parameters implemented by Lin to monitor the history of mu
      convergence.
      
      removed:
        Src/pexsi_interface_true.inc
      added:
        Src/m_pexsi_solver.F90
        Src/pexsi_interface.F90
      modified:
        Src/Makefile
        Src/compute_dm.F
        ------------------------------------------------------------
        revno: 432.3.2
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-newdist
        timestamp: Thu 2013-03-21 12:03:27 +0100
        message:
          Extended interface with mu history
          
          New parameters implemented by Lin to monitor the history
          of mu convergence. 
          The dummy pexsi routine now prints its arguments, and sets a few
          dummy output variables. 
          
          modified:
            Src/m_pexsi_solver.F90
            Src/pexsi_interface.F90
        ------------------------------------------------------------
        revno: 432.3.1
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: pexsi-newdist
        timestamp: Thu 2013-03-14 16:07:25 +0100
        message:
          Interface block for PEXSI. Some comments for new distribution
          
          Added an interface block for the pexsi interface.  The routine is
          added to a library, which is linked if needed (specified in COMP_LIBS
          in the arch.make file).
          
          Currently it does nothing, and the DM is not set, so the program crashes
          in the normalization test.
          
          removed:
            Src/pexsi_interface_true.inc
          added:
            Src/m_pexsi_solver.F90
            Src/pexsi_interface.F90
          modified:
            Src/Makefile
            Src/compute_dm.F
    ------------------------------------------------------------
    revno: 432.2.20 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-04-01 00:22:35 +0200
    message:
      Sync to trunk-434
      
      - OMM method
      - Tree timer
    ------------------------------------------------------------
    revno: 432.2.19
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-03-07 15:16:56 +0100
    message:
      Added rank translation. Abstracted modules.
      
      In case the groups involve ranks not starting at zero and
      monotonic, added rank translation to the transfer routine.
      
      This routine is now part of a new module, which defines the
      'comm' type and provides transfer functions for arrays.
      
      Abstracted also the 'redist' routine.
      
      added:
        Util/MPI_test/m_matrix.F90
        Util/MPI_test/m_redist.F90
        Util/MPI_test/m_transfers.F90
      modified:
        Util/MPI_test/Makefile
        Util/MPI_test/dist.F90
    ------------------------------------------------------------
    revno: 432.2.18
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-03-06 16:33:59 +0100
    message:
      Fix a bug in node_handling_element for pexsi dists.
      
      Sometimes the last node handles *a lot* of elements,
      and in those cases the naive algorithm was wrong.
      
      Fixed it in the prototype, and also in the current code.
      
      modified:
        Src/parallelsubs.F
        Util/MPI_test/class_PEXSIDist.F90
    ------------------------------------------------------------
    revno: 432.2.17
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Sun 2013-03-03 01:48:54 +0100
    message:
      Abstracted the distribution kind
      
      New class_Dist encompasses both block-cyclic and PEXSI-type
      distributions.
      
      added:
        Util/MPI_test/class_Dist.F90
      modified:
        Util/MPI_test/Makefile
        Util/MPI_test/dist.F90
    ------------------------------------------------------------
    revno: 432.2.16
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2013-03-01 15:29:29 +0100
    message:
      Abstracted routine for distribution changes
      
      Clarified the logic of group memberships.
      Still, only groups starting at 0 in group_world are
      supported (no rank translation yet).
      
      modified:
        Util/MPI_test/dist.F90
    ------------------------------------------------------------
    revno: 432.2.15
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-02-28 16:43:53 +0100
    message:
      Advanced prototype for distribution changes
      
      It can now transfer an actual example of sparse matrix.
      Two subsets are symmetric (except for distribution type).
      
      modified:
        Util/MPI_test/dist.F90
        Util/MPI_test/class_BlockCyclicDist.F90
    ------------------------------------------------------------
    revno: 432.2.14
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-02-28 12:55:15 +0100
    message:
      Fifth prototype for distribution changes
      
      Used 'comm' derived type to hold communication information.
      Isolated the transfers in a subroutine.
      
      modified:
        Util/MPI_test/dist.F90
    ------------------------------------------------------------
    revno: 432.2.13
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-02-28 12:33:47 +0100
    message:
      Fourth prototype for distribution changes
      
      Cleaner logic for local storage of requests.
      Smaller output for large cases.
      
      modified:
        Util/MPI_test/dist.F90
    ------------------------------------------------------------
    revno: 432.2.12
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-02-28 11:27:20 +0100
    message:
      Third prototype for distribution changes
      
      Grouped consecutive orbitals into larger communications.
      Used mpi_waitall instead of explicit loops.
      
      modified:
        Util/MPI_test/dist.F90
    ------------------------------------------------------------
    revno: 432.2.11
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-02-27 16:01:50 +0100
    message:
      Second prototype for distribution changes
      
      Second group is a proper subgroup of the first.
      Implemented non-blocking communications.
      
      modified:
        Util/MPI_test/class_BlockCyclicDist.F90
        Util/MPI_test/class_PEXSIDist.F90
        Util/MPI_test/dist.F90
    ------------------------------------------------------------
    revno: 432.2.10
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-02-27 14:57:04 +0100
    message:
      First prototype for distribution changes
      
      Added program 'dist' to Util/MPI_test, to explore strategies for
      changes in the matrix distributions. Work in progress.
      
      added:
        Util/MPI_test/basic_type.inc
        Util/MPI_test/class_BlockCyclicDist.F90
        Util/MPI_test/class_PEXSIDist.F90
        Util/MPI_test/dielocal.F90
        Util/MPI_test/dist.F90
        Util/MPI_test/m_uuid.f90
        Util/MPI_test/object_debug.F90
      modified:
        Util/MPI_test/Makefile
    ------------------------------------------------------------
    revno: 432.2.9
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-02-21 12:01:46 +0100
    message:
      Proper estimation of free energy. Monitor Ebs in two ways
      
      There was an extra term of mu*N_e in the definition of the free energy
      in PEXSI. This is now taken into account. Added the PEXSI case in the
      copying of entropy in "setup_hamiltonian" (strange place...).
      
      The band-structure energy is computed in two ways: Tr(H*DM) and Tr(S*DM)
      to monitor slight differences.
      
      modified:
        Src/pexsi.F90
        Src/setup_hamiltonian.F
    ------------------------------------------------------------
    revno: 432.2.8
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-02-18 10:33:58 +0100
    message:
      Add computation of Free Energy. Pass Ef and electronic temp
      
      The electronic temperature is now passed to PEXSI by Siesta.
      The fermi level is passed back, as is an estimate of the difference
      between F and E, from which the 'entropy' can be calculated.
      
      'write_siesta_energies' now supports PEXSI.
      
      (+ bug and typos fixes)
      
      modified:
        Src/MPI/mpi_siesta.F90
        Src/Makefile
        Src/compute_dm.F
        Src/pexsi.F90
        Src/siesta_end.F
        Src/siesta_init.F
        Src/write_subs.F
    ------------------------------------------------------------
    revno: 432.2.7
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2013-02-15 15:54:31 +0100
    message:
      Simplification of MPI interface
      
      In the interest of expediency, the MPI interface has been
      stripped down to the bare minimum:
      
      -- The "grid" types
      -- The "overloaded" mpi_comm_world
      
      No routines are now included. The "use" statements have been modified
      accordingly.
      
      renamed:
        Src/MPI/mpi_siesta.f90 => Src/MPI/mpi_siesta.F90
      modified:
        Src/SiestaXC/mesh3d.F90
        Src/alloc.F90
        Src/cdiag.F
        Src/diagon.F
        Src/ioxv.F
        Src/m_mpi_utils.F
        Src/m_timer.F90
        Src/m_ts_electrode.F90
        Src/m_ts_gf.F90
        Src/m_ts_in_siesta.F
        Src/m_ts_kpoints.F90
        Src/m_ts_scattering.F
        Src/moreParallelSubs.F90
        Src/optical.F
        Src/setup_ordern_indexes.F90
        Src/MPI/mpi_siesta.F90
    ------------------------------------------------------------
    revno: 432.2.6
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Fri 2013-02-15 14:43:53 +0100
    message:
      Third stage of PEXSI interface. Subset communicator for Siesta
      
      Based on the value of PEXSI.np-per-pole, Siesta now uses a subset
      communicator for most of the work. When PEXSI is entered, all
      the processors participate.
      
      This is implemented by:
      
       -- Creating a new communicator and storing its value in the
          (now variable) mpi_comm_world.
      
       -- Setting a boolean flag "worker" to .true. in those processes
          that are supposed to participate in Siesta work.
      
       -- Broadcasting on true_mpi_comm_world any flow-determining variables
          (such as 'last'), so that all processors call the relevant sections.
      
       -- Making most of the code conditional to "worker" being .true., except
          those sections that are meant to be executed by every processor.
      
      added:
        Src/pexsi_interface_true.inc
        Util/MPI_test/newcomm.F
      modified:
        Src/MPI/mpi_siesta.f90
        Src/cdiag.F
        Src/compute_dm.F
        Src/parallel.F
        Src/pexsi.F90
        Src/rdiag.F
        Src/siesta.F
        Src/siesta_end.F
        Src/siesta_forces.F
        Src/siesta_init.F
        Src/timer_tree.f90
        Util/MPI_test/Makefile
    ------------------------------------------------------------
    revno: 432.2.5
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Thu 2013-02-07 15:28:13 +0100
    message:
      Second stage of interface. PEXSI-specific distribution
      
      Implemented the interface by replacing the distribution
      routines in Siesta (in parallelsubs) to use Lin's distribution.
      This is conceptually simpler for now.
      
      added:
        Src/pexsi_exchange.F90
      modified:
        Src/Makefile
        Src/compute_dm.F
        Src/initparallel.F
        Src/parallelsubs.F
        Src/pexsi.F90
        Src/siesta_init.F
    ------------------------------------------------------------
    revno: 432.2.4
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Wed 2013-02-06 16:29:18 +0100
    message:
      Second stage of interface. Block-cyclic plus 0<->LastNode exchange
      
      Lin's distribution is very similar to block-cyclic, except that the
      last node instead of the first one keeps the slack orbitals.
      
      Implemented the interface by setting the Siesta blocksize to Norbs/NNodes
      and by exchanging information between the first and last nodes. This has
      the advantage (theoretical) of being able to call scalapack if needed...
      
      added:
        Src/pexsi_dump.F90
      modified:
        Src/Makefile
        Src/compute_dm.F
        Src/initparallel.F
        Src/pexsi.F90
    ------------------------------------------------------------
    revno: 432.2.3
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Tue 2013-02-05 19:05:36 +0100
    message:
      Fix extra item in first line of .matrix files
      
      Remove the spin multiplicity, as Lin did not take it
      into account.
      
      modified:
        Src/pexsi.F90
    ------------------------------------------------------------
    revno: 432.2.2
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-02-04 14:56:31 +0100
    message:
      Second prototype of PEXSI interface
      
      Called the interface.
      
      renamed:
        Src/pexsi.f90 => Src/pexsi.F90
      modified:
        Src/Makefile
        Src/compute_dm.F
        Src/pexsi.F90
    ------------------------------------------------------------
    revno: 432.2.1
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-pexsi
    timestamp: Mon 2013-02-04 12:06:15 +0100
    message:
      First prototype of PEXSI interface
      
      Created a routine to write H and S in formatted (!) form to 
      file.
      
      Added new solution method "pexsi".
      
      added:
        Src/pexsi.f90
      modified:
        Src/Makefile
        Src/compute_dm.F
        Src/m_hsx.F
        Src/siesta_options.F90
        Src/sys.F
------------------------------------------------------------
revno: 537
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Fri 2016-07-29 15:30:24 +0200
message:
  Fixed utility build and exact library names
  
  Changing the libvardict is now complete. There
  where several problems in utilities.
  
  Fixed all references for fdf_global_get.
------------------------------------------------------------
revno: 536
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Fri 2016-07-29 14:34:18 +0200
message:
  Removed fdf_global module
  
  - The fdf library inherently handles parallel access.
    Thus the fdf_global module was unnecessary.
    It has been removed and all calls changed.
------------------------------------------------------------
revno: 535
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Fri 2016-07-29 13:41:50 +0200
message:
  Fixes compilation of Nick libraries
  
  - libvardict.a has changed name to libfdict.a
    to make it easier to grasp.
  
  - In both NCDF and fdict libs the PP processor
    command has changed name to CPP (PP is non-standard).
  
    Further the default CPP command is now $(FC) -E -P -x c
    which may be overwritten using CPP in arch.make
------------------------------------------------------------
revno: 534
fixes bug: https://launchpad.net/bugs/1605689
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Wed 2016-07-27 21:53:42 +0200
message:
  Fixes lp:1605689, bands for NC
  
  - Interface call for diag2k in bands was erroneous
------------------------------------------------------------
revno: 533 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Mon 2016-07-25 15:12:49 +0200
message:
  Merged elpa+MRRR
  
  - The ELPA library is now enabled through:
      Diag.ELPA T
    it relies on intrinicly added ELPA library.
  
    Later it may be externally linked.
  
    In addition to the elpa+MRR branch we have:
    defaulted the kernels.
    This is necessary in case the user does not pre-define
    the kernels.
  
  - The MRRR library is now enabled through:
      Diag.MRRR T
    it requires the ScaLAPACK library to have the MRRR routines.
  
    Currently there is no handling if the ScaLAPACK library does
    not have these routines.
    ------------------------------------------------------------
    revno: 453.1.8 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-elpa-mrrr
    timestamp: Mon 2016-07-25 11:11:27 +0200
    message:
      Sync to trunk-531
    ------------------------------------------------------------
    revno: 453.1.7
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-elpa-mrrr
    timestamp: Thu 2016-07-21 10:13:24 +0200
    message:
      Updated manual
      
      Note that ELPA code is embedded in the Siesta distribution for now.
      Eventually, Siesta should link to an external pre-compiled ELPA library.
    ------------------------------------------------------------
    revno: 453.1.6 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-elpa-mrrr
    timestamp: Thu 2016-07-21 10:01:20 +0200
    message:
      Sync to trunk-525
    ------------------------------------------------------------
    revno: 453.1.5 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-elpa-mrrr
    timestamp: Fri 2016-05-27 17:20:03 +0200
    message:
      Sync with trunk-503
      
      Update NOTICE.txt to include a mention of ELPA.
    ------------------------------------------------------------
    revno: 453.1.4 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-elpa
    timestamp: Fri 2015-10-09 12:02:56 +0200
    message:
      Sync to trunk-479
    ------------------------------------------------------------
    revno: 453.1.3 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-elpa
    timestamp: Thu 2015-10-01 11:09:25 +0200
    message:
      Sync to trunk-478. Added MRRR example
      
      * Added Tests/sih-mrrr
    ------------------------------------------------------------
    revno: 453.1.2
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-elpa
    timestamp: Sun 2014-01-19 14:20:43 +0100
    message:
      Added real solver based on the MRRR method in Scalapack.
      
      This method allows to compute only a subset of eigenpairs.
      
      First version with query for sizing of work arrays.
      It could probably be optimized for memory in Z, since
      only a subset of eigenvectors is dealt with.
      
      Set the option with
      
       Diag.MRRR T
      
      and specify number of eigenstates to compute by
      
      NumberOfEigenstates N
      
      (A. Garcia)
      
      added:
        Src/rdiag_mrrr.F
      modified:
        Src/Makefile
        Src/diagg.F
    ------------------------------------------------------------
    revno: 453.1.1 [merge]
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: trunk-elpa
    timestamp: Fri 2014-01-17 14:52:11 +0100
    message:
      Ported ELPA interface to trunk
      
      The version interfaced is that nicknamed 'ELPA_2011.12'.
      So far there is only functionality for real matrices.
      
      added:
        Docs/ELPA.CHANGES
        Src/Sys/macosx-gfortran-openmpi.make
        Src/elpa1.f90
        Src/elpa2.f90
        Src/elpa2_kernels.f90
        Src/rdiag_elpa.F
      modified:
        Src/Makefile
        Src/diagg.F
        ------------------------------------------------------------
        revno: 300.12.2
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 3.0-elpa
        timestamp: Fri 2012-02-10 16:44:25 +0100
        message:
          ELPA solver now works for real matrices
          
          It works with the intel compiler and openmpi-1.4.
          
          modified:
            Src/rdiag_elpa.F
        ------------------------------------------------------------
        revno: 300.12.1
        committer: Alberto Garcia <albertog@icmab.es>
        branch nick: 3.0-elpa
        timestamp: Fri 2012-02-10 12:04:40 +0100
        message:
          First step for ELPA interface
          
          Wrote a new routine rdiag_elpa to interface with the library.
          There are some residual MPI problems.
          
          added:
            Src/Sys/macosx-gfortran-openmpi.make
            Src/elpa1.f90
            Src/elpa2.f90
            Src/elpa2_kernels.f90
            Src/rdiag_elpa.F
          modified:
            Src/Makefile
            Src/diagg.F
------------------------------------------------------------
revno: 532
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Mon 2016-07-25 07:26:03 +0200
message:
  Added -o to gnubands, made new.gnubands -> gnubands
  
  - Updated gnubands utility
  
  - Added -o option for gnubands.
  
    It now allows direct writing to a file without
    piping.
  
  - Re-formatted eigfat2plot (no code change)
------------------------------------------------------------
revno: 531
fixes bug: https://launchpad.net/bugs/1605304
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Thu 2016-07-21 20:10:36 +0200
message:
  Fixed geometry constrainst and wrap-arounds fixes lp:1605304
  
  - Allow negative ranges of atoms without specifying the step
    number
------------------------------------------------------------
revno: 530
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Wed 2016-07-13 11:20:56 +0200
message:
  Removed all references to "contiguous" attribute
  
  - Further the atom_graph and m_supercell now have
    restricted their module use to be privatized.
  
  - All source files have their contiguous attribute
    removed.
  
    We should add this as a preprocessor flag in case
    the compiler supports it.
  
    Several older compilers does not support this :(
------------------------------------------------------------
revno: 529
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Tue 2016-07-05 12:44:45 +0200
message:
  Added si111-spinpol reference test
  
  - The spin polarized Si111 test had never been 
    added to the reference.
------------------------------------------------------------
revno: 528 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Tue 2016-07-05 11:04:07 +0200
message:
  Merged spin type
  
  - The spin data-type has been added.
    This encompass a simple derived data type
    to contain all relevant information regarding
    the dimensionality of different parts of the
    physical quantities.
  
    I.e. it knows how big the Hamiltonian, Density matrix,
    Energy density matrix, Grids, etc. are dependent on the
    system setup.
  
    All future use of the spin variables should pass the
      type(tSpin) :: spin
    and use its components.
  
  - To see an example (correct use), see vmat.F90
    ------------------------------------------------------------
    revno: 523.1.1
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: spin
    timestamp: Wed 2016-06-22 10:57:57 +0200
    message:
      Streamlining the spin flags used
      
      - Future changes regarding the spin will introduce
        the spin components using a derived type containing
        all relevant information regarding the spin
        configuration of the calculation.
      
      
      - Now m_spin.F90 also contains a module t_spin
        containing the derived type.
      
        This derived type is as an initial attempt
        implemented in the vmat routine.
      
        Indeed the clarity of the interface is easier
        to recognize.
------------------------------------------------------------
revno: 527
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Tue 2016-06-28 14:42:55 +0200
message:
  Fixes dH read in tbtrans
  
  - The dH read is now consistent with sisl.
  
    In a future commit we will delete the Util/TS/TB
    folder as that has been fully superseeded with sisl.
  
  - Updated option print-out of dH options
  
  - Fixed reading the netcdf data with not all levels
    existing
  
  - Fixed reading from dH with multiple spin indices
------------------------------------------------------------
revno: 526 [merge]
committer: Nick Papior <nickpapior@gmail.com>
branch nick: trunk
timestamp: Tue 2016-06-28 07:57:03 +0200
message:
  Fixes LDA+U implementation by also allowing non-GGA-PBE XC
  
  - Also explicitly adds several broadcast calls of the
    LDA+U internals. Some are redundant, but for clarity
    they are added
    ------------------------------------------------------------
    revno: 524.1.2
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: ldau-non-ggapbe
    timestamp: Wed 2016-06-22 22:27:24 +0200
    message:
      Added bcast to ensure all LDA+U variables are global
        
    ------------------------------------------------------------
    revno: 524.1.1
    committer: Nick Papior <nickpapior@gmail.com>
    branch nick: ldau-non-ggapbe
    timestamp: Wed 2016-06-22 21:57:38 +0200
    message:
      Fixed LDA+U and non GGA-PBE calculations
      
      - The LDA+U implementation explicitly calculated
        the pseudopotentials using GGA-PBE.
      
        This was hard-coded and now removed
      
        
------------------------------------------------------------
revno: 525 [merge]
committer: Alberto Garcia <albertog@icmab.es>
branch nick: trunk
timestamp: Thu 2016-06-23 14:27:35 +0200
message:
  Merged 4.0-500
  
  * Update list of contributors.
  * Electric-field/slab-dipole-correction fix.
  * Fix to avoid ps reparametrization in bessel case
  * Remove Util/pseudo-xml
  * Other minor changes in README files
    ------------------------------------------------------------
    revno: 483.3.14
    tags: 4.0-release, v4.0
    committer: Alberto Garcia <albertog@icmab.es>
    branch nick: 4.0
    timestamp: Thu 2016-06-23 12:02:59 +0200
    message:
      Release of siesta-4.0
      
      * Update Docs/release_notes.4.0
      
      * Update list of contributors.
      
      * Add some more documentation and comments, and clarify notes in
        output for the recet electric-field/slab-dipole-correction fix.
      
      * Remove Util/pseudo-xml
      
      * Other minor changes in README files
      
      
        
      		
      
      	
