Scsp
Parameters controlling the self-consistent Schrödinger-Poisson loop.
For more information on the self-consistent Schrödinger-Poisson loop, see the section on electrostatics in the user guide.
min_iterations#
The minimum number of Schrödinger-Poisson iterations to perform.
max_iterations#
The maximum number of Schrödinger-Poisson iterations to perform.
convergence_tol#
The convergence tolerance for the potential in the Schrödinger-Poisson loop.
This is defined as the infinity norm of the difference between the potential in the current iteration and the previous iteration.
mixer#
The mixing scheme to use for the self-consistent solution of the Poisson equation.
"under-relaxation": Simple under-relaxation scheme where the new potential is a weighted average of the previous potential and the newly computed potential. The weight is given by themixing_factorparameter."diis": Direct inversion in the iterative subspace (DIIS) method which constructs the new potential as a linear combination of the previous potentials and the newly computed potential. The coefficients of the linear combination are determined by minimizing the residuals of the previous potentials.
mixing_factor#
Under-relaxation factor for the under-relaxation mixer. Should be between 0 and 1.
adaptive_mixing#
Whether to adaptively adjust the mixing factor based on the convergence behavior.
If True, the mixing factor is adjusted based on the convergence
behavior. If the residual between two potential iterations is larger
than the previous iteration, the mixing factor is reduced by 50%. If
it is smaller, the mixing factor is increased by 10%.
max_history#
Maximum number of previous potentials and residuals to store for the DIIS extrapolation.
Only used if mixer is set to "diis".
epsilon#
Regularization parameter for the least-squares problem in the DIIS method to ensure numerical stability.
Only used if mixer is set to "diis".
extrapolation_interval#
Number of iterations between DIIS extrapolation steps.
For example, if set to 3, the mixer will perform two under-relaxation steps followed by a DIIS extrapolation step, and then repeat this cycle. If set to 1 (the default), the Pulay mixing is performed at every iteration.
Only used if mixer is set to "diis".