Mixing self-consistent quantities
Mixing various quantities in self-consistent manners are quite frequent. This module enables a variety of methods based on the Pulay (DIIS) mixing methods and may be used for externally driven SC cycles.
Container classes
Mixing makes use of so called metrics and several steps of quantities stored in history.
The basic classes that are used internally are
|
A history class for retaining a set of history elements |
Base class mixer |
|
|
Base class mixer |
|
Base class mixer with history |
|
Step between different mixers in a user-defined fashion |
Mixing algorithms
|
Linear mixing |
|
Anderson mixing |
|
Direct inversion of the iterative subspace (DIIS mixing) |
|
|
|
Adapt the mixing weight according to the Lagrange multiplier |
|