Merge new functionality in Nick's branch

Registered by Alberto Garcia on 2016-02-11

Merge of new objects, netcdf, openmp, mixing, etc

Blueprint information

Siesta Maintainers
Nick Papior
Nick Papior
Series goal:
Accepted for trunk
Milestone target:
Started by
Nick Papior on 2016-02-15
Completed by
Nick Papior on 2016-06-05



- Fully re-implemented transiesta
  * N-terminal support in transiesta
  * Added different mechanisms for integration control of the
    contours in transiesta
  * Made the convergence of transiesta much better.
    This is accommodated by better handling of the Hartree potential.
  * Different ways of handling charge-reductions in SCF is enabled
  * All electrodes have settings _per electrode_ for full customization
  * Greatly reduced memory usage
  * Does not use xij as phases, enables skewed axis
  * Implemented MUMPS method for inversion
  * Implemented LAPACK for inversion
  * Implemented BTD method for inversion (extremely fast)
  * Implemented two different ways of calculation Gf.G.Gf MM
  * 12 different weighting schemes are available
  * Many different pivoting routines available
  * OpenMP threaded
  * Start directly from transiesta enabled
  * Temperature gradients as non-equilibrium a possibility

- tbtrans fully reimplemented
  * EXTREME SCALE version (BTD-only)
    - Memory consumption _only_ dependent on "device" region
  * N-electrode support
  * region projections for transmission through "eigenstates"
  * Custom change of the self-energies
  * Enabled tight-binding using MPI-parallelised tbtrans (easily)
  * k -> k' transmissions
  * Interpolation of bias Hamiltonians
  * Bond-currents
  * DOS and bulk transmission for electrodes
  * Gf-DOS/spectral-DOS for device region

- Special considerations for siesta
  * New and more robust mixing schemes (Pulay/Pulay-GR/Broyden)
  * Constraints are verbose and many new ways of using constraints exists
  * Added complete NetCDF4 file format for siesta (parallel IO)
  * LUA scripting for MD simulations
    - can also be used for regular constraints
  * Threading for a few routines in siesta
  * Phonon calculations now produces TSHS files more conveniently
  * Enabled gate-calculations (also for transiesta)
    - Charge gate
    - Hartree gate
  * Extended class objects for reference counting objects
  * Allowed fdf-flags on the command line:
     -fdf <flag>:<value>[:<unit>]
    only possible for non-blocks.
  * Changed default DM.MixSCF1 to .true.
    In many cases this is preferred, especially for restarts.
  * Will die if there are more processors than orbitals

- Utilities
  * All make-files are now made to enable parallel builds
    - this makes compilation *MUCH* faster:
       make -j4
      will compile using 4 cores.
  * Grimme utility
    - easy creation of FDF block for Grimme parameters
  * Sp2METIS, convert a sparsity pattern to METIS pivoting
  * SpPivot, pivot sparsity pattern using several different routines
  * TS/** different utilities related to transiesta

We have to review the issue of the new supercell definition.
Yes, this is important.

I guess it is not possible to partition the merge into smaller pieces...
One could, but that would mean a lot of work, I think we should discuss this in case you want to wait with certain features.


Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.


No subscribers.