# Algorithms for SCF calculations

### This page gives hints on how to select the SCF algorithm with the ABINIT package.

##### Copyright (C) 2016-2017 ABINIT group (XG)

Mentioned in help_features#2.4.

### Table of content:

- 1. Introduction.
- 2. Related input variables.
- 3. Selected input files.

### 1. Introduction.

Self-Consistent Field calculations allow to determine the solution of the Kohn-Sham equations, ending with converged "self-consistent" wavefunctions, density, and Kohn-Sham potentials. Different algorithms can be chosen to converge to the solution of this set of equations, governed by the input variable iscf and wfoptalg. iscf focuses on the density/potential self-consistency algorithms, while wfoptalg focuses on the determination of the wavefunction through the solution of the Shrödinger equation with fixed Kohn-Sham potential.

The algorithm selected by iscf are the iterative kind, among which Pulay mixing is one of the most efficient. Also, an efficient preconditioner will speed up the convergence. Among different choices, a generalized Kerker preconditioner is implemented, see diemac, diemix and dielng.
In order to perform a non-self-consistent calculations of wavefunctions and corresponding eigenvalues in a fixed potential, as for representing a full band structure, the loop over density/potentials self-consistency must be disabled, for which iscf=-2 must be chosen.

Among the algorithms to find the wavefunctions, selected by wfoptalg, the conjugate-gradient and the LOBPCG ones are the favourite. Use the Chebyshev filtering for massive parallel runs.

Inner electronic eigenvalues can be computed thanks to the minimisation of the residual with respect to a target energy value, see eshift.
Go to the top

### 2. Related input variables.

Basic input variables:

... iscf [Integer for Self-Consistent-Field cycles]
... wfoptalg [WaveFunction OPTimisation ALGorithm]

Useful input variables:

... dielng [model DIElectric screening LeNGth]
... diemac [model DIElectric MACroscopic constant]
... diemix [model DIElectric MIXing factor]
... npulayit [Number of PULAY ITerations for SC mixing]

Input variables for experts:

... densfor_pred [DENSity and FORces PREDictor]
... diecut [DIElectric matrix energy CUToff]
... diegap [DIElectric matrix GAP]
... dielam [DIElectric matrix LAMbda]
... eshift [Energy SHIFT]
... iprcel [Integer for PReConditioning of ELectron response]
... isecur [Integer for level of SECURity choice]
Go to the top

### 3. Selected input files.

WARNING : as of ABINITv8.6.x, the list of input files provided in the specific section of the topics Web pages is still to be reviewed/tuned. In some cases, it will be adequate, and in other cases, it might be incomplete, or perhaps even useless.
The user can find some related example input files in the ABINIT package in the directory /tests, or on the Web:

tests/v2/Input: t51.in
Go to the top