Documentation for module qs_scf_types

module that contains the definitions of the scf types

source: qs_scf_types.F
Loading...

public Types:

subspace_env_type
...
krylov_space_type
...
qs_scf_env_type
...

public Subroutines/Functions:

creates subspace-rotation environment
creates krylov space
SUBROUTINE
scf_env_create (scf_env)
allocates and initialize an scf_env
function to be called to inform the scf_env about changes
releases an scf_env (see doc/ReferenceCounting.html)
SUBROUTINE
scf_env_retain (scf_env)
retains an scf_env (see doc/ReferenceCounting.html)

Parameters:

INTEGER
:: block_davidson_diag_method_nr = 5
INTEGER
:: block_krylov_diag_method_nr = 4
INTEGER
:: filter_matrix_diag_method_nr = 20
INTEGER
:: general_diag_method_nr = 1
INTEGER
:: ot_diag_method_nr = 3
INTEGER
:: ot_method_nr = 10
INTEGER
:: special_diag_method_nr = 2

public Types:

TYPE :: krylov_space_type

...


INTEGER
:: nkrylov ...
INTEGER
:: nblock ...
INTEGER
:: nmo_conv ...
INTEGER
:: nmo_nc ...
INTEGER
:: max_iter ...
LOGICAL
:: always_check_conv ...
REAL(dp)
:: eps_std_diag ...
REAL(dp)
:: eps_conv ...
REAL(dp)
:: eps_adapt ...
REAL(dp)
:: max_res_norm ...
REAL(dp)
:: min_res_norm ...
REAL(dp),
DIMENSION(:), POINTER :: c_eval ...
REAL(dp),
DIMENSION(:), POINTER :: t_eval ...
DIMENSION(:), POINTER :: v_mat ...
DIMENSION(:), POINTER :: mo_conv ...
DIMENSION(:), POINTER :: mo_refine ...
TYPE(cp_fm_type),
POINTER :: tmp_mat ...
TYPE(cp_fm_type),
POINTER :: block1_mat ...
TYPE(cp_fm_type),
POINTER :: block2_mat ...
TYPE(cp_fm_type),
POINTER :: block3_mat ...
TYPE(cp_fm_type),
POINTER :: block4_mat ...
TYPE(cp_fm_type),
POINTER :: block5_mat ...
DIMENSION(:), POINTER :: c_vec ...
DIMENSION(:), POINTER :: chc_mat ...

TYPE :: qs_scf_env_type

...


:: outer_scf ...
INTEGER
:: ref_count ...
INTEGER
:: id_nr ...
INTEGER
:: print_count ...
INTEGER
:: iter_count ...
INTEGER
:: cholesky_method ...
INTEGER
:: nelectron ...
INTEGER
:: method ...
INTEGER
:: mixing_method ...
INTEGER
:: nskip_mixing ...
REAL(dp)
:: iter_param ...
REAL(dp)
:: iter_delta ...
REAL(dp)
:: p_mix_alpha ...
CHARACTER(15)
:: iter_method ...
COMPLEX(dp),
DIMENSION(:,:,:), POINTER :: cc_buffer ...
LOGICAL
:: print_iter_line ...
LOGICAL
:: skip_mixing ...
LOGICAL
:: skip_diis ...
LOGICAL
:: needs_ortho ...
POINTER :: mixing_store ...
DIMENSION(:), POINTER :: scf_work1 ...
TYPE(cp_fm_type),
POINTER :: scf_work2 ...
TYPE(cp_fm_type),
POINTER :: ortho ...
TYPE(cp_fm_type),
POINTER :: ortho_m1 ...
TYPE(cp_fm_type),
POINTER :: s_half ...
TYPE(cp_fm_type),
POINTER :: s_minus_one ...
POINTER :: krylov_space ...
DIMENSION(:,:), POINTER :: p_delta ...
DIMENSION(:,:), POINTER :: p_mix_new ...
TYPE(dbcsr_type),
POINTER :: ortho_dbcsr ...
TYPE(dbcsr_type),
POINTER :: buf1_dbcsr ...
TYPE(dbcsr_type),
POINTER :: buf2_dbcsr ...
DIMENSION(:), POINTER :: ot_preconditioner ...
TYPE(qs_ot_type),
POINTER, DIMENSION(:) :: qs_ot_env ...
POINTER :: scf_diis_buffer ...
POINTER :: subspace_env ...
POINTER, DIMENSION(:) :: block_davidson_env ...
:: filter_matrix_env ...
:: floating_basis ...

TYPE :: subspace_env_type

...


INTEGER
:: max_iter ...
INTEGER
:: mixing_method ...
REAL(dp)
:: eps_diag_sub ...
REAL(dp)
:: eps_ene ...
REAL(dp)
:: eps_adapt ...
DIMENSION(:), POINTER :: p_matrix_store ...
DIMENSION(:,:), POINTER :: p_matrix_mix ...
DIMENSION(:), POINTER :: chc_mat ...
DIMENSION(:), POINTER :: c_vec ...
DIMENSION(:), POINTER :: c0 ...
POINTER :: mixing_store ...

SUBROUTINEdiag_subspace_env_create(subspace_env, scf_section, ecut)

creates subspace-rotation environment

Arguments:
POINTER
:: subspace_env ...
POINTER
:: scf_section ...
REAL(dp),
INTENT(in)
:: ecut ...

SUBROUTINEkrylov_space_create(krylov_space, scf_section)

creates krylov space

Arguments:
POINTER
:: krylov_space ...
POINTER
:: scf_section ...

SUBROUTINEscf_env_create(scf_env)

allocates and initialize an scf_env

Arguments:
POINTER
:: scf_env the scf env to initialize

SUBROUTINEscf_env_did_change(scf_env)

function to be called to inform the scf_env about changes

Arguments:
POINTER
:: scf_env the scf env to inform

SUBROUTINEscf_env_release(scf_env)

releases an scf_env (see doc/ReferenceCounting.html)

Arguments:
POINTER
:: scf_env the environment to release

SUBROUTINEscf_env_retain(scf_env)

retains an scf_env (see doc/ReferenceCounting.html)

Arguments:
POINTER
:: scf_env the environment to retain

private Parameters/Types:

private Types:

TYPE :: floating_basis_type

...


REAL(dp),
DIMENSION(:,:), POINTER :: gradient ...

TYPE :: qs_outer_scf_type

wrapper for temporary and cached objects used in the scf iteration


INTEGER
:: iter_count ...
LOGICAL
:: deallocate_jacobian ...
REAL(dp),
DIMENSION(:), POINTER :: energy ...
REAL(dp),
DIMENSION(:,:), POINTER :: variables ...
REAL(dp),
DIMENSION(:,:), POINTER :: gradient ...
REAL(dp),
DIMENSION(:,:), POINTER :: inv_jacobian ...
INTEGER,
DIMENSION(:), POINTER :: count ...