|
occ
|
The quantities the SCC Hamiltonian is built from, bundled so they can be mixed as one vector between iterations. More...
#include <scc_state.h>
Public Member Functions | |
| Eigen::Index | size () const |
| Vec | pack () const |
| void | unpack (const Vec &packed) |
| void | damp_toward (const SccMixerState &fresh, double factor) |
Move each channel a fraction 1 - factor of the way toward fresh. | |
| double | max_change (const SccMixerState &other) const |
| Largest absolute per-element difference across all active channels — the SCC's charge-convergence metric. | |
Static Public Member Functions | |
| static SccMixerState | zero (int n_shells, int n_atoms, bool magnetization, bool multipoles) |
| Allocate the requested channels, zeroed. | |
Public Attributes | |
| Vec | shell_charges |
| Vec | magnetization |
| CammMoments | multipoles |
The quantities the SCC Hamiltonian is built from, bundled so they can be mixed as one vector between iterations.
Anything left out of the mixer is fed back undamped and free to oscillate, so every input to H belongs here: shell charges always, the shell magnetization when spin-unrestricted, and the CAMM atomic multipoles when the anisotropic terms are on. Unused channels stay empty and cost nothing.
| void occ::xtb::SccMixerState::damp_toward | ( | const SccMixerState & | fresh, |
| double | factor | ||
| ) |
Move each channel a fraction 1 - factor of the way toward fresh.
| double occ::xtb::SccMixerState::max_change | ( | const SccMixerState & | other | ) | const |
Largest absolute per-element difference across all active channels — the SCC's charge-convergence metric.
| Vec occ::xtb::SccMixerState::pack | ( | ) | const |
| Eigen::Index occ::xtb::SccMixerState::size | ( | ) | const |
| void occ::xtb::SccMixerState::unpack | ( | const Vec & | packed | ) |
|
static |
Allocate the requested channels, zeroed.
| Vec occ::xtb::SccMixerState::magnetization |
| CammMoments occ::xtb::SccMixerState::multipoles |
| Vec occ::xtb::SccMixerState::shell_charges |