lp:~nickpapior/siesta/4.1-ts-int

Created by Nick Papior and last modified
Get this branch:
bzr branch lp:~nickpapior/siesta/4.1-ts-int
Only Nick Papior can upload to this branch. If you are Nick Papior please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Nick Papior
Project:
Siesta
Status:
Merged

Recent revisions

813. By Nick Papior

Cleaned up the last details for the TS merge

Now the documentation is on par with the merging of
transiesta into siesta.
Since this superseedes the need for two executables a lot
of documentation describing the "make transiesta" stuff has
been removed.

Also, fixed a few minor details in the options of transiesta.

812. By Nick Papior

Made transiesta intrinsic to siesta.

This commit fixes the issue of having to different
executables.
1. It removes all (see further down) pre-processor flags
   related to transiesta and thus enables regular transiesta
   runs by using siesta executable.
   There are no practical differences between the two.
   With this change the solutionmethod decides what to do.

2. The "old" transiesta executable is still compilable.
   The only difference is the default of setting
   TS.HS.Save and TS.DE.Save
   such that electrodes are defaulted.

The siesta executable now has a flag -electrode or -elec
which sets TS.HS.Save and TS.DE.Save to true. This means
that:
  transiesta == siesta --elec

And that is it.

811. By Nick Papior

Removed unneeded variable in m_ts_electrode, clarified loops in m_tbt_tri_scat

The current DOS calculation is now correct since there was a mistake.
This has now been checked against a small sisl code.

Thanks to Bernhard Kretz for making me aware of this.

810. By Nick Papior

Speeded up DOS calculations in TBtrans

The calculation of the DOS was performed by looping BTD entries which
is far from optimal when performing large scale calculations.
For now we have reverted to the sparse matrix looping and extraction of
the index from a function call.

This is implemented both in GF_DOS and A_DOS and so far it seems to be twice
as fast. The other benefit is a better OMP parallelization.

Also fixed a compilation problem without NCDF.

Added a new routine in TriMat to extract index in sub-matrix plus submatrix.

809. By Nick Papior

Clean-up in manual, MaxSCFIterations are now increased to 200.

Fixed many inconsistencies in the manual, now there should be no
duplicate entries.
Also removed \over calls.

Enabled arguments for fdf-flags:
  \fdf{Label:arg}
which will create a link to an fdfoptions \option[arg] if
fdfindex*{Label:arg}.

808. By Nick Papior

Reverted an old change in the electrostatics for N-electrode box solutions

In 391.1.642 I changed the algorithm from the in_box to square grids which
meant that the box functionality was *only* working for Cartesian lattice
vectors. This has been reverted.
Secondly the loop has been reduced to only check where the electrode has points.

One of the problems with the old implementation was the extremely bad
performance due to numerous calls of dgesv routine. Instead the m_geom_box
now calculates the inverse of the box-vectors and then multiplies to get
the solution. This makes it perform MUCH faster.

The electrode was using this box method and thus is now much faster.

Removed some die calls in init_Elec_sim and moved to ts_warnings
to make it compatible with N-electrode calculations. Say N-electrode
calculations with Gamma-only don't really care about non-conforming
pivoting of electrode lattice vectors.

Thanks to Thomas Frederiksen for bringing this to my attention.

807. By Nick Papior

Updated Fermi-update, more aggressive when Fermi correction is always pos/neg

When the fermi update method always starts with missing/additional charge we
are now more aggressive in the search for the best E_F. It speeds up in
the simpler cases, but perhaps is too violent in the difficulter ones.

Also allowed dEf to be performed from Lua by passing down the current charge
to lua. Then one can always change Ef to fit dQ. Hence one can optimize the algorithm
by system.

Fixed timers when compiling with timers for transiesta fermi-correction.

Added a module dm_charge which simply calculates the total charge via [DM*S]. Its low
overhead makes it suitable to be calculated per SCF.

806. By Nick Papior

Fixed origin displacement (should be half the interlayer spacing)

This has no influence on computations.

805. By Nick Papior

Fixed pivoting GGPS and many small nuances of the pivotings

Now the pivoting works with the generalized connectivity-graph (CG).
This has offloaded some things to the m_pivot_methods.F90 code and
should provide a better basis.

Added only_sub to the pivot_methods to allow sub-graph pivoting, this
is mainly intended for tbtrans downfolding regions where electrodes regions
are disconnected graphs.

Added error calls when the pivoting scheme does not contain all elements.

A couple of fixes in m_region, initialization in consecutive and sort.

Fixed exposing electrode orbitals in tbtrans (o_inD required all orbitals).

Added print-out of suggested pivoting scheme. This is however a suggestion as
it is only based on the lowest memory usage.
Secondly, the output of TS.Analyze has been greatly reduced.

TODO adapt the new level-structure type in GGPS.

804. By Nick Papior

Fixed a_dev in TBT.SE files (sorted) and also fixed issue with MPI-IO

Now the TBT.Proj and TBT.SE files have their own open routine which is
simply a copy. But it allows a finer tuning.

Fixed warnings when sigma-only and fixed a bug regarding elec-dos and sigma-only.

Speeded up SE writes because we now keep the file-handle open.

Added generalized option for connectivity graphs. We should consider
doing this also for all other options. I.e. the fan-options probably
require a more specific pivoting routine.

Fixed wrong default in the manual of the cross-term updates, they are
cross-terms, but none was specified as the default.

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