![]() |
(git:b77b4be)
|
Optimization routines for all ALMO-based SCF methods. More...
Functions/Subroutines | |
subroutine, public | almo_scf_block_diagonal (qs_env, almo_scf_env, optimizer) |
An SCF procedure that optimizes block-diagonal ALMOs using DIIS. | |
subroutine, public | almo_scf_xalmo_eigensolver (qs_env, almo_scf_env, optimizer) |
An eigensolver-based SCF to optimize extended ALMOs (i.e. ALMOs on overlapping domains) | |
subroutine, public | almo_scf_xalmo_pcg (qs_env, almo_scf_env, optimizer, quench_t, matrix_t_in, matrix_t_out, assume_t0_q0x, perturbation_only, special_case) |
Optimization of ALMOs using PCG-like minimizers. | |
subroutine, public | almo_scf_construct_nlmos (qs_env, optimizer, matrix_s, matrix_mo_in, matrix_mo_out, template_matrix_sigma, overlap_determinant, mat_distr_aos, virtuals, eps_filter) |
Optimization of NLMOs using PCG minimizers. | |
subroutine, public | almo_scf_xalmo_trustr (qs_env, almo_scf_env, optimizer, quench_t, matrix_t_in, matrix_t_out, perturbation_only, special_case) |
Optimization of ALMOs using trust region minimizers. | |
Optimization routines for all ALMO-based SCF methods.
subroutine, public almo_scf_optimizer::almo_scf_block_diagonal | ( | type(qs_environment_type), pointer | qs_env, |
type(almo_scf_env_type), intent(inout) | almo_scf_env, | ||
type(optimizer_options_type), intent(in) | optimizer | ||
) |
An SCF procedure that optimizes block-diagonal ALMOs using DIIS.
qs_env | ... |
almo_scf_env | ... |
optimizer | ... |
Definition at line 140 of file almo_scf_optimizer.F.
subroutine, public almo_scf_optimizer::almo_scf_xalmo_eigensolver | ( | type(qs_environment_type), pointer | qs_env, |
type(almo_scf_env_type), intent(inout) | almo_scf_env, | ||
type(optimizer_options_type), intent(in) | optimizer | ||
) |
An eigensolver-based SCF to optimize extended ALMOs (i.e. ALMOs on overlapping domains)
qs_env | ... |
almo_scf_env | ... |
optimizer | ... |
Definition at line 454 of file almo_scf_optimizer.F.
subroutine, public almo_scf_optimizer::almo_scf_xalmo_pcg | ( | type(qs_environment_type), pointer | qs_env, |
type(almo_scf_env_type), intent(inout) | almo_scf_env, | ||
type(optimizer_options_type), intent(in) | optimizer, | ||
type(dbcsr_type), dimension(:), intent(inout), allocatable | quench_t, | ||
type(dbcsr_type), dimension(:), intent(inout), allocatable | matrix_t_in, | ||
type(dbcsr_type), dimension(:), intent(inout), allocatable | matrix_t_out, | ||
logical, intent(in) | assume_t0_q0x, | ||
logical, intent(in) | perturbation_only, | ||
integer, intent(in), optional | special_case | ||
) |
Optimization of ALMOs using PCG-like minimizers.
qs_env | ... |
almo_scf_env | ... |
optimizer | controls the optimization algorithm |
quench_t | ... |
matrix_t_in | ... |
matrix_t_out | ... |
assume_t0_q0x | - since it is extremely difficult to converge the iterative procedure using T as an optimized variable, assume T = T_0 + (1-R_0)*X and optimize X T_0 is assumed to be the zero-delocalization reference |
perturbation_only | - perturbative (do not update Hamiltonian) |
special_case | to reduce the overhead special cases are implemented: xalmo_case_normal - no special case (i.e. xALMOs) xalmo_case_block_diag xalmo_case_fully_deloc |
Definition at line 865 of file almo_scf_optimizer.F.
subroutine, public almo_scf_optimizer::almo_scf_construct_nlmos | ( | type(qs_environment_type), pointer | qs_env, |
type(optimizer_options_type), intent(inout) | optimizer, | ||
type(dbcsr_type), intent(in) | matrix_s, | ||
type(dbcsr_type), dimension(:), intent(inout), allocatable | matrix_mo_in, | ||
type(dbcsr_type), dimension(:), intent(inout), allocatable | matrix_mo_out, | ||
type(dbcsr_type), dimension(:), intent(in), allocatable | template_matrix_sigma, | ||
real(kind=dp), intent(inout) | overlap_determinant, | ||
integer, intent(in) | mat_distr_aos, | ||
logical, intent(in) | virtuals, | ||
real(kind=dp), intent(in) | eps_filter | ||
) |
Optimization of NLMOs using PCG minimizers.
qs_env | ... |
optimizer | controls the optimization algorithm |
matrix_s | - AO overlap (NAOs x NAOs) |
matrix_mo_in | - initial MOs (NAOs x NMOs) |
matrix_mo_out | - final MOs (NAOs x NMOs) |
template_matrix_sigma | - template (NMOs x NMOs) |
overlap_determinant | - the determinant of the MOs overlap |
mat_distr_aos | - info on the distribution of AOs |
virtuals | ... |
eps_filter | ... |
Definition at line 1998 of file almo_scf_optimizer.F.
subroutine, public almo_scf_optimizer::almo_scf_xalmo_trustr | ( | type(qs_environment_type), pointer | qs_env, |
type(almo_scf_env_type), intent(inout) | almo_scf_env, | ||
type(optimizer_options_type), intent(in) | optimizer, | ||
type(dbcsr_type), dimension(:), allocatable | quench_t, | ||
type(dbcsr_type), dimension(:), allocatable | matrix_t_in, | ||
type(dbcsr_type), dimension(:), allocatable | matrix_t_out, | ||
logical, intent(in) | perturbation_only, | ||
integer, intent(in), optional | special_case | ||
) |
Optimization of ALMOs using trust region minimizers.
qs_env | ... |
almo_scf_env | ... |
optimizer | controls the optimization algorithm |
quench_t | ... |
matrix_t_in | ... |
matrix_t_out | ... |
perturbation_only | - perturbative (do not update Hamiltonian) |
special_case | to reduce the overhead special cases are implemented: xalmo_case_normal - no special case (i.e. xALMOs) xalmo_case_block_diag xalmo_case_fully_deloc |
Definition at line 9045 of file almo_scf_optimizer.F.