![]() |
(git:4a2d255)
|
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.