![]() |
(git:b77b4be)
|
Routines for a linear scaling quickstep SCF run based on the density matrix, with a focus on the interface between dm_ls_scf and qs. More...
Functions/Subroutines | |
subroutine, public | matrix_ls_create (matrix_ls, matrix_qs, ls_mstruct) |
create a matrix for use (and as a template) in ls based on a qs template | |
subroutine, public | matrix_qs_to_ls (matrix_ls, matrix_qs, ls_mstruct, covariant) |
first link to QS, copy a QS matrix to LS matrix used to isolate QS style matrices from LS style will be useful for future features (e.g. precision, symmetry, blocking, ...) | |
subroutine, public | matrix_ls_to_qs (matrix_qs, matrix_ls, ls_mstruct, covariant, keep_sparsity) |
second link to QS, copy a LS matrix to QS matrix used to isolate QS style matrices from LS style will be useful for future features (e.g. precision, symmetry, blocking, ...) | |
subroutine, public | matrix_decluster (matrix_out, matrix_in, ls_mstruct) |
Reverses molecular blocking and reduction to single precision if enabled. | |
subroutine, public | ls_scf_init_qs (qs_env) |
further required initialization of QS. Might be factored-out since this seems common code with the other SCF. | |
subroutine, public | ls_scf_qs_atomic_guess (qs_env, ls_scf_env, energy, nonscf) |
get an atomic initial guess | |
subroutine, public | ls_scf_dm_to_ks (qs_env, ls_scf_env, energy_new, iscf) |
use the density matrix in ls_scf_env to compute the new energy and KS matrix | |
subroutine, public | ls_nonscf_ks (qs_env, ls_scf_env, energy_new) |
use the external density in ls_scf_env to compute the new KS matrix | |
subroutine, public | ls_nonscf_energy (qs_env, ls_scf_env) |
use the new density matrix in ls_scf_env to compute the new energy | |
subroutine, public | write_matrix_to_cube (qs_env, ls_scf_env, matrix_p_ls, unit_nr, title, stride) |
... | |
subroutine, public | rho_mixing_ls_init (qs_env, ls_scf_env) |
Initialize g-space density mixing. | |
Routines for a linear scaling quickstep SCF run based on the density matrix, with a focus on the interface between dm_ls_scf and qs.
subroutine, public dm_ls_scf_qs::matrix_ls_create | ( | type(dbcsr_type) | matrix_ls, |
type(dbcsr_type) | matrix_qs, | ||
type(ls_mstruct_type), intent(in) | ls_mstruct | ||
) |
create a matrix for use (and as a template) in ls based on a qs template
matrix_ls | ... |
matrix_qs | ... |
ls_mstruct | ... |
Definition at line 98 of file dm_ls_scf_qs.F.
subroutine, public dm_ls_scf_qs::matrix_qs_to_ls | ( | type(dbcsr_type) | matrix_ls, |
type(dbcsr_type) | matrix_qs, | ||
type(ls_mstruct_type), intent(in), target | ls_mstruct, | ||
logical, intent(in) | covariant | ||
) |
first link to QS, copy a QS matrix to LS matrix used to isolate QS style matrices from LS style will be useful for future features (e.g. precision, symmetry, blocking, ...)
matrix_ls | ... |
matrix_qs | ... |
ls_mstruct | ... |
covariant | ... |
Definition at line 211 of file dm_ls_scf_qs.F.
subroutine, public dm_ls_scf_qs::matrix_ls_to_qs | ( | type(dbcsr_type) | matrix_qs, |
type(dbcsr_type) | matrix_ls, | ||
type(ls_mstruct_type), intent(in), target | ls_mstruct, | ||
logical | covariant, | ||
logical, optional | keep_sparsity | ||
) |
second link to QS, copy a LS matrix to QS matrix used to isolate QS style matrices from LS style will be useful for future features (e.g. precision, symmetry, blocking, ...)
matrix_qs | ... |
matrix_ls | ... |
ls_mstruct | ... |
covariant | ... |
keep_sparsity | will be passed on to dbcsr_copy, by default set to .TRUE. |
Definition at line 305 of file dm_ls_scf_qs.F.
subroutine, public dm_ls_scf_qs::matrix_decluster | ( | type(dbcsr_type) | matrix_out, |
type(dbcsr_type) | matrix_in, | ||
type(ls_mstruct_type), intent(in) | ls_mstruct | ||
) |
Reverses molecular blocking and reduction to single precision if enabled.
matrix_out | ... |
matrix_in | ... |
ls_mstruct | ... |
Definition at line 364 of file dm_ls_scf_qs.F.
subroutine, public dm_ls_scf_qs::ls_scf_init_qs | ( | type(qs_environment_type), pointer | qs_env | ) |
further required initialization of QS. Might be factored-out since this seems common code with the other SCF.
qs_env | ... |
Definition at line 398 of file dm_ls_scf_qs.F.
subroutine, public dm_ls_scf_qs::ls_scf_qs_atomic_guess | ( | type(qs_environment_type), pointer | qs_env, |
type(ls_scf_env_type) | ls_scf_env, | ||
real(kind=dp) | energy, | ||
logical, intent(in), optional | nonscf | ||
) |
get an atomic initial guess
qs_env | ... |
ls_scf_env | ... |
energy | ... |
nonscf | ... |
Definition at line 457 of file dm_ls_scf_qs.F.
subroutine, public dm_ls_scf_qs::ls_scf_dm_to_ks | ( | type(qs_environment_type), pointer | qs_env, |
type(ls_scf_env_type) | ls_scf_env, | ||
real(kind=dp) | energy_new, | ||
integer, intent(in) | iscf | ||
) |
use the density matrix in ls_scf_env to compute the new energy and KS matrix
qs_env | ... |
ls_scf_env | ... |
energy_new | ... |
iscf | ... |
Definition at line 545 of file dm_ls_scf_qs.F.
subroutine, public dm_ls_scf_qs::ls_nonscf_ks | ( | type(qs_environment_type), pointer | qs_env, |
type(ls_scf_env_type) | ls_scf_env, | ||
real(kind=dp) | energy_new | ||
) |
use the external density in ls_scf_env to compute the new KS matrix
qs_env | ... |
ls_scf_env | ... |
energy_new | ... |
Definition at line 621 of file dm_ls_scf_qs.F.
subroutine, public dm_ls_scf_qs::ls_nonscf_energy | ( | type(qs_environment_type), pointer | qs_env, |
type(ls_scf_env_type) | ls_scf_env | ||
) |
use the new density matrix in ls_scf_env to compute the new energy
qs_env | ... |
ls_scf_env | ... |
Definition at line 672 of file dm_ls_scf_qs.F.
subroutine, public dm_ls_scf_qs::write_matrix_to_cube | ( | type(qs_environment_type), pointer | qs_env, |
type(ls_scf_env_type) | ls_scf_env, | ||
type(dbcsr_type), intent(in) | matrix_p_ls, | ||
integer, intent(in) | unit_nr, | ||
character(len=*), intent(in) | title, | ||
integer, dimension(:), pointer | stride | ||
) |
...
qs_env | ... |
ls_scf_env | ... |
matrix_p_ls | ... |
unit_nr | ... |
title | ... |
stride | ... |
Definition at line 723 of file dm_ls_scf_qs.F.
subroutine, public dm_ls_scf_qs::rho_mixing_ls_init | ( | type(qs_environment_type), pointer | qs_env, |
type(ls_scf_env_type) | ls_scf_env | ||
) |
Initialize g-space density mixing.
qs_env | ... |
ls_scf_env | ... |
Definition at line 793 of file dm_ls_scf_qs.F.