lp:~nickpapior/siesta/4.1-init-DM
- Get this branch:
- bzr branch lp:~nickpapior/siesta/4.1-init-DM
Branch merges
- Alberto Garcia: Pending requested
-
Diff: 278 lines (+189/-19) (has conflicts)3 files modifiedDocs/siesta.tex (+41/-0)
Src/m_new_dm.F90 (+144/-19)
version.info (+4/-0)
Branch information
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. - 1106. By Nick Papior
-
Fixed wannier test to have all files for completing a Wannier90 run
All files have been supplied by Javier Junquera.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:siesta