lp:~albertog/siesta/4.1-fix-sc
- Get this branch:
- bzr branch lp:~albertog/siesta/4.1-fix-sc
Branch merges
Branch information
Recent revisions
- 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. - 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. - 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