(git:3add494)
almo_scf_optimizer Module Reference

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. More...
 
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) More...
 
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. More...
 
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. More...
 
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. More...
 

Detailed Description

Optimization routines for all ALMO-based SCF methods.

History
2011.05 created [Rustam Z Khaliullin] 2014.10 as a separate file [Rustam Z Khaliullin]
Author
Rustam Z Khaliullin

Function/Subroutine Documentation

◆ almo_scf_block_diagonal()

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.

Parameters
qs_env...
almo_scf_env...
optimizer...
History
2011.06 created [Rustam Z Khaliullin] 2018.09 smearing support [Ruben Staub]
Author
Rustam Z Khaliullin

Definition at line 137 of file almo_scf_optimizer.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ almo_scf_xalmo_eigensolver()

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)

Parameters
qs_env...
almo_scf_env...
optimizer...
History
2013.03 created [Rustam Z Khaliullin] 2018.09 smearing support [Ruben Staub]
Author
Rustam Z Khaliullin

Definition at line 453 of file almo_scf_optimizer.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ almo_scf_xalmo_pcg()

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.

Parameters
qs_env...
almo_scf_env...
optimizercontrols 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_caseto reduce the overhead special cases are implemented: xalmo_case_normal - no special case (i.e. xALMOs) xalmo_case_block_diag xalmo_case_fully_deloc
History
2011.11 created [Rustam Z Khaliullin]
Author
Rustam Z Khaliullin

Definition at line 866 of file almo_scf_optimizer.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ almo_scf_construct_nlmos()

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.

Parameters
qs_env...
optimizercontrols 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...
History
2018.10 created [Rustam Z Khaliullin]
Author
Rustam Z Khaliullin

Definition at line 2004 of file almo_scf_optimizer.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ almo_scf_xalmo_trustr()

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.

Parameters
qs_env...
almo_scf_env...
optimizercontrols the optimization algorithm
quench_t...
matrix_t_in...
matrix_t_out...
perturbation_only- perturbative (do not update Hamiltonian)
special_caseto reduce the overhead special cases are implemented: xalmo_case_normal - no special case (i.e. xALMOs) xalmo_case_block_diag xalmo_case_fully_deloc
History
2020.01 created [Rustam Z Khaliullin]
Author
Rustam Z Khaliullin

Definition at line 9071 of file almo_scf_optimizer.F.

Here is the call graph for this function:
Here is the caller graph for this function: