lp:~albertog/siesta/4.1-fix-sc

Created by Alberto Garcia and last modified
Get this branch:
bzr branch lp:~albertog/siesta/4.1-fix-sc
Only Alberto Garcia can upload to this branch. If you are Alberto Garcia please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Alberto Garcia
Project:
Siesta
Status:
Development

Recent revisions

1075. By Alberto Garcia

Fix supercell determination algorithm. Problems remain

1074. By Nick Papior

Streamlined rcell usage in the self-energy calculation

This should also increase performance for very small electrodes
with very large Bloch factors.

1073. By Nick Papior

Fixed command-line flags for tbtrans when piping, fixes #1829974

1072. By Nick Papior

Enabled Lua-NEB size checks of images and structure in Siesta

This makes the code more stable since it gives users exact
messages concerning wrong input structures.

Also enabled one to quit Siesta from Lua by sending the
Stop entry.

1071. By Alberto Garcia

Merge r593: fixes matel pool lp:1815735

1070. By Nick Papior

Changed Lua node to start from 0 as MPI

1069. By Nick Papior

Updated documentation to clarify a few things

1068. By Nick Papior

Merged r592, fixes vibra precision lp:1816719

1067. By Nick Papior

Added a new Bloch-expansion algorithm

It does exactly the same thing but is somewhere between 1 and 2 orders of
magnitudes faster.

The reason is that the Bloch-expansion has a Toeplitz structure allowing for
reduced calculations and copying data around. This is now being done at
two levels:

1) For Bloch expansions along 1 dimension we have an efficient algorithm.
2) For Bloch expansions along 2 dimensions we have an efficient algorithm.

Both are also better parallelized using OpenMP. Even for simple Bloch expanions
of ~5 I see a halving of execution time of the methods. This could potentially be
very important for large scale TB calculations, but also for regular TS calculations.

This also adds warnings when using the repetition of bloch expansion since
the algorithm only works for tiling constructs. Hence, when going from repeating
to tiling one would find an even larger performance improvement.

Added a better error message when the electrode coordinates are not coinciding.
A direct comparison between the device and electrode coordinates are
now being done.

1066. By Alberto Garcia

Simplify the choice between SiestaXC and BSC's versions of cellxc

The BSC_CELLXC preprocessor blocks have been removed and replaced
by conditional blocks which can be selected at runtime.

The user can control which version of cellxc is used by means of the
fdf logical variable:

     XC.Use.BSC.CellXC (T/F)

which is 'false' by default, thus using SiestaXC's cellxc.

The BSC version is slightly more efficient for GGA operations, and the
SiestaXC version must (and will) be used when dealing with van der
Waals density functionals.

NOTES:

* BSC's version of cellxc now uses ldaxc, ggaxc, and setxc/getxc from
  SiestaXC. This enhances its functionality (more functionals) and
  saves on duplicated code. The old 'xc.f' file has been removed.

* In 'meshsubs', 'distriphionmesh' now accepts an extra argument to
  flag the need for stencil initilization.

* SiestaXC is now seeded with the "linear" pre-defined parallel
  distribution instead of having it use its internal load balancer.

* In 'forhar', a number of 'reord' operations towards 'sequential'
  fine-point ordering (which were compiled-in only for the new
  interface) have been removed, as all the arrays involved are already
  in 'sequential' form.

  Tests show that these changes do not seem to affect the results, however.

  The 'forhar' interface uses the 'ntm' argument in all cases, to simplify
  the code.

* Removed bogus incompatibility check in ldau.F

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:siesta
This branch contains Public information 
Everyone can see this information.

Subscribers