lp:~nickpapior/siesta/mixing

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

602. By Nick Papior

Merged trunk-r594-632

601. By Nick Papior

Merged trunk r592-593

600. By Nick Papior

Moved m_mixing* routines to mixing*

It makes it easier to work with if files are not
named m_ because then all files are sorted similarly.

599. By Nick Papior

Cleaned mixing calls in mixer to remove ambiguity

- No logic change in the execution

598. By Nick Papior

Added total charge mixing

- This is simply only taking into account the total
  charge when calculating the residual norm.

597. By Nick Papior

Updated makefiles

596. By Nick Papior

Updated mixing routines with bug-fixes and new external methods

- Fixed a few bugs in the mixing routines if one
  requests specific mixing options. i.e. the
  restart count was always specified and the
  history step was erroneously changed.

- Enabled external function in mixing routine to
  attach a mixing option externally controlled.
  This enables one to assign custom external options
  related to the parameters etc. One may use this
  external function to decide on the norm-function.

- Removed spin-components mixing, these are now controlled
  via other means.
  For instance one can now mix the mulliken charge (DM*S)
  the vector components (M(x), M(y), M(z)) which maybe is
  more stable than the other ones.

- Cleaned up MPI operations in mixing routines

- Updated documentation.

595. By Nick Papior

Removed DM*H and mixing options and added H*S

Updated mixing options for more streamlined options.

Added H*S option which seems to sometimes behave better than
DM and regular H mixing.

594. By Nick Papior

Streamlined naming convention for mixing variables

- Now all mixing variables are named mix_*

593. By Nick Papior

Added DM*H mixing by using the DM*H norm for the residual

- The DM*H mixing allows two different methods:
   SCF.Mix DM*H
  or
   SCF.Mix H*DM
  where DM*H mixes the density matrix and H*DM mixes
  the Hamiltonian.

  They seem to behave equivalently to their respective
  mixing method, H*DM ~ Hamiltonian and DM*H ~ DM.

  These will not be documented currently because their
  use is probably not encouraged. One of the shortcomings
  is that the corresponding DM/H for the multiplication is
  not from the equivalent cycle, meaning that only the latest
  version is used.

  The idea of this method is to "mix the band-structure energy
  residual" in an approximate way.

- Moved residual.F90 to mix_norm.F90 which better reflects the
  code intent.

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