Documentation for module dm_ls_scf_types

Types needed for a linear scaling quickstep SCF run based on the density matrix

source: dm_ls_scf_types.F
Loading...

Forwarded symbols:

ls_cluster_atomic
input_constants::ls_cluster_atomic
...
ls_cluster_molecular
input_constants::ls_cluster_molecular
...

public Types:

ls_scf_curvy_type
...
ls_mstruct_type
...
ls_scf_env_type
...

public Subroutines/Functions:

release the LS type.

public Types:

TYPE :: ls_mstruct_type

...


INTEGER
:: cluster_type ...
LOGICAL
:: single_precision ...
LOGICAL
:: do_pao ...
INTEGER,
DIMENSION(:), ALLOCATABLE :: atom_to_molecule ...
:: matrix_a ...
:: matrix_b ...

TYPE :: ls_scf_curvy_type

...


TYPE(dbcsr_type),
DIMENSION(:), ALLOCATABLE :: matrix_dp ...
TYPE(dbcsr_type),
DIMENSION(:), ALLOCATABLE :: matrix_p ...
TYPE(dbcsr_type),
DIMENSION(:,:), ALLOCATABLE :: matrix_psave ...
TYPE(dbcsr_type),
DIMENSION(:,:), ALLOCATABLE :: matrix_bch ...
REAL(dp)
:: step_size ...
REAL(dp)
:: shift ...
REAL(dp)
:: cg_denom ...
REAL(dp)
:: cg_numer ...
REAL(dp),
DIMENSION(6) :: energies ...
INTEGER
:: line_search_step ...
INTEGER
:: bch_saved ...
LOGICAL
:: double_step_size ...
LOGICAL
:: fix_shift ...
INTEGER
:: line_search_type ...
INTEGER
:: n_bch_hist ...
REAL(dp)
:: scale_filter ...
REAL(dp)
:: filter_factor ...
REAL(dp)
:: min_shift ...
REAL(dp)
:: min_filter ...

TYPE :: ls_scf_env_type

...


INTEGER
:: nspins ...
INTEGER
:: natoms ...
INTEGER
:: nelectron_total ...
INTEGER,
DIMENSION(2) :: nelectron_spin ...
REAL(dp),
DIMENSION(2) :: mu_spin ...
REAL(dp),
DIMENSION(2) :: homo_spin ...
REAL(dp),
DIMENSION(2) :: lumo_spin ...
:: scf_history ...
INTEGER
:: extrapolation_order ...
LOGICAL
:: has_unit_metric ...
LOGICAL
:: curvy_steps ...
INTEGER
:: s_preconditioner_type ...
INTEGER
:: s_inversion_type ...
INTEGER
:: purification_method ...
INTEGER
:: sign_sqrt_order ...
LOGICAL
:: needs_s_inv ...
LOGICAL
:: has_s_preconditioner ...
LOGICAL
:: fixed_mu ...
LOGICAL
:: dynamic_threshold ...
LOGICAL
:: check_s_inv ...
LOGICAL
:: restart_read ...
LOGICAL
:: restart_write ...
LOGICAL
:: non_monotonic ...
REAL(dp)
:: eps_filter ...
REAL(dp)
:: eps_scf ...
REAL(dp)
:: eps_lanczos ...
INTEGER
:: max_iter_lanczos ...
REAL(dp)
:: mixing_fraction ...
INTEGER
:: max_scf ...
LOGICAL
:: ls_diis ...
INTEGER
:: iter_ini_diis ...
INTEGER
:: nmixing ...
INTEGER
:: max_diis ...
REAL(dp)
:: eps_diis ...
REAL(dp)
:: energy_init ...
:: matrix_s_inv ...
:: matrix_s ...
:: matrix_bs_sqrt ...
:: matrix_bs_sqrt_inv ...
:: matrix_s_sqrt ...
:: matrix_s_sqrt_inv ...
TYPE(dbcsr_type),
DIMENSION(:), ALLOCATABLE :: matrix_ks ...
TYPE(dbcsr_type),
DIMENSION(:), ALLOCATABLE :: matrix_p ...
LOGICAL
:: report_all_sparsities ...
LOGICAL
:: perform_mu_scan ...
LOGICAL
:: use_s_sqrt ...
:: ls_mstruct ...
:: curvy_data ...
:: chebyshev ...
LOGICAL
:: do_rho_mixing ...
INTEGER
:: density_mixing_method ...
POINTER :: mixing_store ...
LOGICAL
:: do_transport ...
LOGICAL
:: do_pexsi ...
LOGICAL
:: calculate_forces ...
:: pexsi ...
POINTER :: para_env ...
LOGICAL
:: do_pao = .FALSE. ...
:: pao_env ...

SUBROUTINEls_scf_release(ls_scf_env)

release the LS type.

Arguments:
POINTER
:: ls_scf_env ...

private Parameters/Types:

private Types:

TYPE :: chebyshev_type

...


LOGICAL
:: compute_chebyshev ...
INTEGER
:: n_chebyshev ...
INTEGER
:: n_gridpoint_dos ...
REAL(dp),
DIMENSION(:), POINTER :: min_energy => NULL() ...
REAL(dp),
DIMENSION(:), POINTER :: max_energy => NULL() ...
POINTER :: print_key_dos => NULL() ...
POINTER :: print_key_cube => NULL() ...

TYPE :: ls_mat_history_type

...


INTEGER
:: istore ...
INTEGER
:: nstore ...
TYPE(dbcsr_type),
DIMENSION(:,:), ALLOCATABLE :: matrix ...