(git:f2099e5)
Loading...
Searching...
No Matches
qs_scf_block_davidson Module Reference

module that contains the algorithms to perform an iterative diagonalization by the block-Davidson approach P. Blaha, et al J. Comp. Physics, 229, (2010), 453-460 Iterative diagonalization in augmented plane wave based methods in electronic structure calculations More...

Functions/Subroutines

subroutine, public generate_extended_space (bdav_env, mo_set, matrix_h, matrix_s, output_unit, preconditioner)
 ...
subroutine, public generate_extended_space_c (bdav_env, mos, matrix_h, matrix_s, output_unit, eps_iter, eps_iter_empty, preconditioner)
 iterative diagonalization by the block-Davidson approach for one complex K point; complex counterpart of generate_extended_space
subroutine, public generate_extended_space_sparse (bdav_env, mo_set, matrix_h, matrix_s, output_unit, preconditioner)
 ...

Detailed Description

module that contains the algorithms to perform an iterative diagonalization by the block-Davidson approach P. Blaha, et al J. Comp. Physics, 229, (2010), 453-460 Iterative diagonalization in augmented plane wave based methods in electronic structure calculations

History
05.2011 created [MI]
Author
MI

Function/Subroutine Documentation

◆ generate_extended_space()

subroutine, public qs_scf_block_davidson::generate_extended_space ( type(davidson_type) bdav_env,
type(mo_set_type), intent(in) mo_set,
type(dbcsr_type), pointer matrix_h,
type(dbcsr_type), pointer matrix_s,
integer, intent(in) output_unit,
type(preconditioner_type), optional, pointer preconditioner )

...

Parameters
bdav_env...
mo_set...
matrix_h...
matrix_s...
output_unit...
preconditioner...

Definition at line 96 of file qs_scf_block_davidson.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_extended_space_c()

subroutine, public qs_scf_block_davidson::generate_extended_space_c ( type(davidson_type) bdav_env,
type(mo_set_type), intent(inout) mos,
type(cp_cfm_type), intent(in) matrix_h,
type(cp_cfm_type), intent(in) matrix_s,
integer, intent(in) output_unit,
real(kind=dp), intent(in) eps_iter,
real(kind=dp), intent(in) eps_iter_empty,
type(preconditioner_type), optional, pointer preconditioner )

iterative diagonalization by the block-Davidson approach for one complex K point; complex counterpart of generate_extended_space

Parameters
bdav_envDavidson settings of this channel
mosMO pair of this K point: mos(1) real part, mos(2) imaginary part
matrix_hcomplex Kohn-Sham matrix H(k) in full storage
matrix_scomplex overlap matrix S(k) in full storage
output_unitunit for the Davidson iteration log
eps_iterconvergence threshold for the residual norm of the occupied MOS of this step
eps_iter_emptythreshold for the unoccupied MOS, identical to eps_iter unless the driver relaxed it with EPS_ADAPT
preconditionercomplex K-point preconditioner
Note
K-point MOs have no sparse dbcsr copy (mo_coeff_b). This routine does not update mo_coeff_b.

Definition at line 499 of file qs_scf_block_davidson.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_extended_space_sparse()

subroutine, public qs_scf_block_davidson::generate_extended_space_sparse ( type(davidson_type) bdav_env,
type(mo_set_type), intent(in) mo_set,
type(dbcsr_type), pointer matrix_h,
type(dbcsr_type), pointer matrix_s,
integer, intent(in) output_unit,
type(preconditioner_type), optional, pointer preconditioner )

...

Parameters
bdav_env...
mo_set...
matrix_h...
matrix_s...
output_unit...
preconditioner...

Definition at line 1067 of file qs_scf_block_davidson.F.

Here is the call graph for this function:
Here is the caller graph for this function: