lp:~nickpapior/siesta/4.1-init-DM

Created by Nick Papior and last modified
Get this branch:
bzr branch lp:~nickpapior/siesta/4.1-init-DM
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:
Development

Recent revisions

1114. By Nick Papior

Removed the atomic-state method which should never be used

Retained the randomized initialization for experimental
use.

1113. By Nick Papior

Added a new initialization method for DM

The current DM initialization *only* specifies the charge
on the truly diagonal DM entries. I.e. io == col(ind).
However, if one considers that atomic charges are actually
atomic *states* i.e. a state-vector with element in the
diagonal one will also get DM entries in off-diagonal
but io - 1 == col(ind) % no_u which is probably more correct.

I have added two new methods for DM initialization:

1. The DM.Init flag determines one of these methods:
   a) atomic
      the default on-site only atomic density
   b) expand to a state with on-site density
      This enables small auxiliary cell calculations
      to have the density spread amongst overlapping
      orbitals.
      In some systems this seem to behave better
      (graphite/graphene) whereas others it doesn't
      (si64).

2. Added DM.Init.RandomStates <integer> to remove
   N electrons from the initial density matrix
   and add N electrons using a randomized state.
   This state is ensured to be in the non-orthogonal
   basis but is not necessarily orthogonal to any
   other state generated (nor will it be orthogonal
   to the atomic states).
   Currently this method scales orbital coefficients with
   the atomic charges. This will match the atomic charges to
   some degree.
   This is done to limit randoized states with charge in
   high-lying shells which seems dubious in many cases.
   Generally this does not work too good, but may be good
   in some cases I don't know off.

Currently the defaults are as they have always been, but
perhaps the atomic-state would be good in the future?
This needs more heuristics.

1112. By Nick Papior

Fixed bug for double printing the Hirshfeld and Voronoi charges

This happened when the user requested the partial charges and
also LDOS. In those cases the partial charges would be calculated
twice, first correctly, then in-correctly using the LDOS charge.
This is now fixed to *not* print-out the partial charges for the LDOS.

1111. By Nick Papior

Upgraded fdict and ncdf to the latest releases

These changes the type declarations and allows for
better compatibility.

There are *NO* code changes, only adaptation to the
newer releases.

1110. By Nick Papior

Fixed memory-leak in m_region Orb2Atom

Since this is called many places it was rather severe.

1109. By Nick Papior

Made GGPS pivoting optional by requiring a pre-processor flag

The GGPS algorithm is notoriously slow and is deemed unnecessary
given that it won't give much performance for a higher pivoting
algorithm cost. This is especially true for TB calculations with
very large number of atoms/orbitals.

I have only disabled GGPS in the analysis step.
One can add a pre-processor flag: TS_PVT_GGPS (or TBT_PVT_GGPS)

Also fixed a bug for one-orbital systems in TBtrans analyze.

1108. By Nick Papior

Added better diagnostics in the pivoting algorithms

This has no code-changes, but only fixes and adds to the
debugging statements in the pivoting methods algorithms.

This is the first dev towards moving GGPS to the newer
level-structure algorithms which are *MUCH* faster.

1107. By Nick Papior

Removed unnecessary temporary variable in partial_charges

No code changes.

1106. By Nick Papior

Fixed wannier test to have all files for completing a Wannier90 run

All files have been supplied by Javier Junquera.

1105. By Nick Papior

Fixed character spaces in output for TS.Elecs

Only a cosmetic change.

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