Documentation for module qs_diis

Apply the direct inversion in the iterative subspace (DIIS) of Pulay in the framework of an SCF iteration for convergence acceleration

source: qs_diis.F
Loading...

public Subroutines/Functions:

clears the buffer
clears the DIIS buffer in LS-SCF calculation
Allocates an SCF DIIS buffer
Allocates an SCF DIIS buffer for LS-SCF calculation
Update the SCF DIIS buffer, and if appropriate does a diis step.
Update the SCF DIIS buffer in linear scaling SCF (LS-SCF), and if appropriate does a diis step.

SUBROUTINEqs_diis_b_clear(diis_buffer)

clears the buffer

Arguments:
POINTER
:: diis_buffer the buffer to clear

SUBROUTINEqs_diis_b_clear_sparse(diis_buffer)

clears the DIIS buffer in LS-SCF calculation

Arguments:
POINTER
:: diis_buffer the buffer to clear

SUBROUTINEqs_diis_b_create(diis_buffer, nbuffer)

Allocates an SCF DIIS buffer

Arguments:
POINTER
:: diis_buffer the buffer to create
INTEGER,
INTENT(in)
:: nbuffer ...

SUBROUTINEqs_diis_b_create_sparse(diis_buffer, nbuffer)

Allocates an SCF DIIS buffer for LS-SCF calculation

Arguments:
POINTER
:: diis_buffer the buffer to create
INTEGER,
INTENT(in)
:: nbuffer ...

SUBROUTINEqs_diis_b_step(diis_buffer, mo_array, kc, sc, delta, error_max, diis_step, eps_diis, nmixing, s_matrix, scf_section, roks)

Update the SCF DIIS buffer, and if appropriate does a diis step.

Arguments:
POINTER
:: diis_buffer ...
POINTER
:: mo_array(:) ...
POINTER
:: kc(:) ...
TYPE(cp_fm_type),
POINTER
:: sc ...
REAL(dp),
INTENT(in)
:: delta ...
REAL(dp),
INTENT(out)
:: error_max ...
LOGICAL,
INTENT(out)
:: diis_step ...
REAL(dp),
INTENT(in)
:: eps_diis ...
INTEGER,
INTENT(in),
OPTIONAL
:: nmixing ...
OPTIONAL, POINTER
:: s_matrix(:) ...
POINTER
:: scf_section ...
LOGICAL,
INTENT(in),
OPTIONAL
:: roks ...

SUBROUTINEqs_diis_b_step_4lscf(diis_buffer, qs_env, ls_scf_env, unit_nr, iscf, diis_step, eps_diis, nmixing, s_matrix, threshold)

Update the SCF DIIS buffer in linear scaling SCF (LS-SCF), and if appropriate does a diis step.

Arguments:
POINTER
:: diis_buffer ...
POINTER
:: qs_env ...
:: ls_scf_env ...
INTEGER,
INTENT(in)
:: unit_nr ...
INTEGER,
INTENT(in)
:: iscf ...
LOGICAL,
INTENT(out)
:: diis_step ...
REAL(dp),
INTENT(in)
:: eps_diis ...
INTEGER,
INTENT(in),
OPTIONAL
:: nmixing ...
TYPE(dbcsr_type),
OPTIONAL
:: s_matrix ...
REAL(dp),
INTENT(in)
:: threshold ...