![]() |
(git:d18deda)
|
Apply the direct inversion in the iterative subspace (DIIS) of Pulay in the framework of an SCF iteration for convergence acceleration. More...
Functions/Subroutines | |
subroutine, public | qs_diis_b_create (diis_buffer, nbuffer) |
Allocates an SCF DIIS buffer. | |
subroutine, public | qs_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. | |
pure subroutine, public | qs_diis_b_clear (diis_buffer) |
clears the buffer | |
subroutine, public | qs_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. | |
pure subroutine, public | qs_diis_b_clear_sparse (diis_buffer) |
clears the DIIS buffer in LS-SCF calculation | |
pure subroutine, public | qs_diis_b_create_sparse (diis_buffer, nbuffer) |
Allocates an SCF DIIS buffer for LS-SCF calculation. | |
subroutine, public | qs_diis_b_create_kp (diis_buffer, nbuffer) |
Allocates an SCF DIIS buffer for k-points. | |
pure subroutine, public | qs_diis_b_clear_kp (diis_buffer) |
clears the buffer | |
subroutine, public | qs_diis_b_info_kp (diis_buffer, ib, nb) |
Update info about the current buffer step ib and the current number of buffers nb. | |
subroutine, public | qs_diis_b_calc_err_kp (diis_buffer, ib, mos, kc, sc, ispin, ikp, nkp_local, scf_section) |
Calculate and store the error for a given k-point. | |
subroutine, public | qs_diis_b_step_kp (diis_buffer, coeffs, ib, nb, delta, error_max, diis_step, eps_diis, nspin, nkp, nkp_local, nmixing, scf_section, para_env) |
Update the SCF DIIS buffer, and if appropriate does a diis step, for k-points. | |
Apply the direct inversion in the iterative subspace (DIIS) of Pulay in the framework of an SCF iteration for convergence acceleration.
subroutine, public qs_diis::qs_diis_b_create | ( | type(qs_diis_buffer_type), intent(out) | diis_buffer, |
integer, intent(in) | nbuffer | ||
) |
subroutine, public qs_diis::qs_diis_b_step | ( | type(qs_diis_buffer_type), pointer | diis_buffer, |
type(mo_set_type), dimension(:), intent(in) | mo_array, | ||
type(cp_fm_type), dimension(:), pointer | kc, | ||
type(cp_fm_type), intent(in) | sc, | ||
real(kind=dp), intent(in) | delta, | ||
real(kind=dp), intent(out) | error_max, | ||
logical, intent(out) | diis_step, | ||
real(kind=dp), intent(in) | eps_diis, | ||
integer, intent(in), optional | nmixing, | ||
type(dbcsr_p_type), dimension(:), optional, pointer | s_matrix, | ||
type(section_vals_type), pointer | scf_section, | ||
logical, intent(in), optional | roks | ||
) |
Update the SCF DIIS buffer, and if appropriate does a diis step.
diis_buffer | ... |
mo_array | ... |
kc | ... |
sc | ... |
delta | ... |
error_max | ... |
diis_step | ... |
eps_diis | ... |
nmixing | ... |
s_matrix | ... |
scf_section | ... |
roks | ... |
Definition at line 228 of file qs_diis.F.
pure subroutine, public qs_diis::qs_diis_b_clear | ( | type(qs_diis_buffer_type), intent(inout) | diis_buffer | ) |
subroutine, public qs_diis::qs_diis_b_step_4lscf | ( | type(qs_diis_buffer_type_sparse), pointer | diis_buffer, |
type(qs_environment_type), pointer | qs_env, | ||
type(ls_scf_env_type) | ls_scf_env, | ||
integer, intent(in) | unit_nr, | ||
integer, intent(in) | iscf, | ||
logical, intent(out) | diis_step, | ||
real(kind=dp), intent(in) | eps_diis, | ||
integer, intent(in), optional | nmixing, | ||
type(dbcsr_type), optional | s_matrix, | ||
real(kind=dp), intent(in) | threshold | ||
) |
Update the SCF DIIS buffer in linear scaling SCF (LS-SCF), and if appropriate does a diis step.
diis_buffer | ... |
qs_env | ... |
ls_scf_env | ... |
unit_nr | ... |
iscf | ... |
diis_step | ... |
eps_diis | ... |
nmixing | ... |
s_matrix | ... |
threshold | ... |
Definition at line 544 of file qs_diis.F.
pure subroutine, public qs_diis::qs_diis_b_clear_sparse | ( | type(qs_diis_buffer_type_sparse), intent(inout) | diis_buffer | ) |
pure subroutine, public qs_diis::qs_diis_b_create_sparse | ( | type(qs_diis_buffer_type_sparse), intent(out) | diis_buffer, |
integer, intent(in) | nbuffer | ||
) |
subroutine, public qs_diis::qs_diis_b_create_kp | ( | type(qs_diis_buffer_type_kp), intent(out) | diis_buffer, |
integer, intent(in) | nbuffer | ||
) |
pure subroutine, public qs_diis::qs_diis_b_clear_kp | ( | type(qs_diis_buffer_type_kp), intent(inout) | diis_buffer | ) |
subroutine, public qs_diis::qs_diis_b_info_kp | ( | type(qs_diis_buffer_type_kp), pointer | diis_buffer, |
integer, intent(out) | ib, | ||
integer, intent(out) | nb | ||
) |
subroutine, public qs_diis::qs_diis_b_calc_err_kp | ( | type(qs_diis_buffer_type_kp), pointer | diis_buffer, |
integer, intent(in) | ib, | ||
type(mo_set_type), dimension(:, :), pointer | mos, | ||
type(cp_cfm_type), intent(inout) | kc, | ||
type(cp_cfm_type), intent(inout) | sc, | ||
integer, intent(in) | ispin, | ||
integer, intent(in) | ikp, | ||
integer, intent(in) | nkp_local, | ||
type(section_vals_type), pointer | scf_section | ||
) |
Calculate and store the error for a given k-point.
diis_buffer | ... |
ib | ... |
mos | ... |
kc | ... |
sc | ... |
ispin | ... |
ikp | ... |
nkp_local | ... |
scf_section | ... |
Definition at line 1012 of file qs_diis.F.
subroutine, public qs_diis::qs_diis_b_step_kp | ( | type(qs_diis_buffer_type_kp), pointer | diis_buffer, |
complex(kind=dp), dimension(:), intent(inout) | coeffs, | ||
integer, intent(in) | ib, | ||
integer, intent(in) | nb, | ||
real(kind=dp), intent(in) | delta, | ||
real(kind=dp), intent(out) | error_max, | ||
logical, intent(out) | diis_step, | ||
real(kind=dp), intent(in) | eps_diis, | ||
integer, intent(in) | nspin, | ||
integer, intent(in) | nkp, | ||
integer, intent(in) | nkp_local, | ||
integer, intent(in), optional | nmixing, | ||
type(section_vals_type), pointer | scf_section, | ||
type(mp_para_env_type), pointer | para_env | ||
) |
Update the SCF DIIS buffer, and if appropriate does a diis step, for k-points.
diis_buffer | ... |
coeffs | ... |
ib | ... |
nb | ... |
delta | ... |
error_max | ... |
diis_step | ... |
eps_diis | ... |
nspin | ... |
nkp | ... |
nkp_local | ... |
nmixing | ... |
scf_section | ... |
para_env | ... |
Definition at line 1098 of file qs_diis.F.