![]() |
(git:34a1bdb)
|
Different diagonalization schemes that can be used for the iterative solution of the eigenvalue problem. More...
Functions/Subroutines | |
| subroutine, public | general_eigenproblem (scf_env, mos, matrix_ks, matrix_s, scf_control, scf_section, diis_step) |
| the inner loop of scf, specific to diagonalization with S matrix basically, in goes the ks matrix out goes a new p matrix | |
| subroutine, public | do_general_diag (scf_env, mos, matrix_ks, matrix_s, scf_control, scf_section, diis_step, probe) |
| ... | |
| subroutine, public | do_general_diag_kp (matrix_ks, matrix_s, kpoints, scf_env, scf_control, update_p, diis_step, diis_error, qs_env, probe) |
| Kpoint diagonalization routine Transforms matrices to kpoint, distributes kpoint groups, performs general diagonalization (no storgae of overlap decomposition), stores MOs, calculates occupation numbers, calculates density matrices in kpoint representation, transforms density matrices to real space. | |
| subroutine, public | do_scf_diag_subspace (qs_env, scf_env, subspace_env, mos, rho, ks_env, scf_section, scf_control) |
| inner loop within MOS subspace, to refine occupation and density, before next diagonalization of the Hamiltonian | |
| subroutine, public | diag_subspace_allocate (subspace_env, qs_env, mos) |
| ... | |
| subroutine, public | do_special_diag (scf_env, mos, matrix_ks, scf_control, scf_section, diis_step) |
| the inner loop of scf, specific to diagonalization without S matrix basically, in goes the ks matrix out goes a new p matrix | |
| subroutine, public | do_ot_diag (scf_env, mos, matrix_ks, matrix_s, scf_control, scf_section, diis_step) |
| the inner loop of scf, specific to iterative diagonalization using OT with S matrix; basically, in goes the ks matrix out goes a new p matrix | |
| subroutine, public | do_roks_diag (scf_env, mos, matrix_ks, matrix_s, scf_control, scf_section, diis_step, orthogonal_basis) |
| Solve a set restricted open Kohn-Sham (ROKS) equations based on the alpha and beta Kohn-Sham matrices from unrestricted Kohn-Sham. | |
| subroutine, public | do_block_krylov_diag (scf_env, mos, matrix_ks, scf_control, scf_section, check_moconv_only) |
| iterative diagonalization using the block Krylov-space approach | |
| subroutine, public | do_block_davidson_diag (qs_env, scf_env, mos, matrix_ks, matrix_s, scf_control, scf_section, check_moconv_only) |
| iterative diagonalization using the block davidson space approach | |
| subroutine, public | diag_kp_smat (matrix_s, kpoints, fmwork) |
| Kpoint diagonalization routine Transforms matrices to kpoint, distributes kpoint groups, performs diagonalization. | |
Different diagonalization schemes that can be used for the iterative solution of the eigenvalue problem.
| subroutine, public qs_scf_diagonalization::general_eigenproblem | ( | type(qs_scf_env_type), pointer | scf_env, |
| type(mo_set_type), dimension(:), intent(in) | mos, | ||
| type(dbcsr_p_type), dimension(:), pointer | matrix_ks, | ||
| type(dbcsr_p_type), dimension(:), pointer | matrix_s, | ||
| type(scf_control_type), pointer | scf_control, | ||
| type(section_vals_type), pointer | scf_section, | ||
| logical, intent(inout) | diis_step | ||
| ) |
the inner loop of scf, specific to diagonalization with S matrix basically, in goes the ks matrix out goes a new p matrix
| scf_env | ... |
| mos | ... |
| matrix_ks | ... |
| matrix_s | ... |
| scf_control | ... |
| scf_section | ... |
| diis_step | ... |
Definition at line 160 of file qs_scf_diagonalization.F.
| subroutine, public qs_scf_diagonalization::do_general_diag | ( | type(qs_scf_env_type), pointer | scf_env, |
| type(mo_set_type), dimension(:), intent(inout) | mos, | ||
| type(dbcsr_p_type), dimension(:), pointer | matrix_ks, | ||
| type(dbcsr_p_type), dimension(:), pointer | matrix_s, | ||
| type(scf_control_type), pointer | scf_control, | ||
| type(section_vals_type), pointer | scf_section, | ||
| logical, intent(inout) | diis_step, | ||
| type(hairy_probes_type), dimension(:), optional, pointer | probe | ||
| ) |
...
| scf_env | ... |
| mos | ... |
| matrix_ks | ... |
| matrix_s | ... |
| scf_control | ... |
| scf_section | ... |
| diis_step | ... |
| probe | ... |
Definition at line 370 of file qs_scf_diagonalization.F.
| subroutine, public qs_scf_diagonalization::do_general_diag_kp | ( | type(dbcsr_p_type), dimension(:, :), pointer | matrix_ks, |
| type(dbcsr_p_type), dimension(:, :), pointer | matrix_s, | ||
| type(kpoint_type), pointer | kpoints, | ||
| type(qs_scf_env_type), pointer | scf_env, | ||
| type(scf_control_type), pointer | scf_control, | ||
| logical, intent(in) | update_p, | ||
| logical, intent(inout) | diis_step, | ||
| real(dp), intent(inout), optional | diis_error, | ||
| type(qs_environment_type), optional, pointer | qs_env, | ||
| type(hairy_probes_type), dimension(:), optional, pointer | probe | ||
| ) |
Kpoint diagonalization routine Transforms matrices to kpoint, distributes kpoint groups, performs general diagonalization (no storgae of overlap decomposition), stores MOs, calculates occupation numbers, calculates density matrices in kpoint representation, transforms density matrices to real space.
| matrix_ks | Kohn-sham matrices (RS indices, global) |
| matrix_s | Overlap matrices (RS indices, global) |
| kpoints | Kpoint environment |
| scf_env | SCF environment |
| scf_control | SCF control variables |
| update_p | ... |
| diis_step | ... |
| diis_error | ... |
| qs_env | ... |
| probe | ... |
Definition at line 435 of file qs_scf_diagonalization.F.
| subroutine, public qs_scf_diagonalization::do_scf_diag_subspace | ( | type(qs_environment_type), pointer | qs_env, |
| type(qs_scf_env_type), pointer | scf_env, | ||
| type(subspace_env_type), pointer | subspace_env, | ||
| type(mo_set_type), dimension(:), intent(inout) | mos, | ||
| type(qs_rho_type), pointer | rho, | ||
| type(qs_ks_env_type), pointer | ks_env, | ||
| type(section_vals_type), pointer | scf_section, | ||
| type(scf_control_type), pointer | scf_control | ||
| ) |
inner loop within MOS subspace, to refine occupation and density, before next diagonalization of the Hamiltonian
| qs_env | ... |
| scf_env | ... |
| subspace_env | ... |
| mos | ... |
| rho | ... |
| ks_env | ... |
| scf_section | ... |
| scf_control | ... |
Definition at line 792 of file qs_scf_diagonalization.F.
| subroutine, public qs_scf_diagonalization::diag_subspace_allocate | ( | type(subspace_env_type), pointer | subspace_env, |
| type(qs_environment_type), pointer | qs_env, | ||
| type(mo_set_type), dimension(:), intent(in) | mos | ||
| ) |
...
| subspace_env | ... |
| qs_env | ... |
| mos | ... |
Definition at line 1001 of file qs_scf_diagonalization.F.
| subroutine, public qs_scf_diagonalization::do_special_diag | ( | type(qs_scf_env_type), pointer | scf_env, |
| type(mo_set_type), dimension(:), intent(inout) | mos, | ||
| type(dbcsr_p_type), dimension(:), pointer | matrix_ks, | ||
| type(scf_control_type), pointer | scf_control, | ||
| type(section_vals_type), pointer | scf_section, | ||
| logical, intent(inout) | diis_step | ||
| ) |
the inner loop of scf, specific to diagonalization without S matrix basically, in goes the ks matrix out goes a new p matrix
| scf_env | ... |
| mos | ... |
| matrix_ks | ... |
| scf_control | ... |
| scf_section | ... |
| diis_step | ... |
Definition at line 1070 of file qs_scf_diagonalization.F.
| subroutine, public qs_scf_diagonalization::do_ot_diag | ( | type(qs_scf_env_type), pointer | scf_env, |
| type(mo_set_type), dimension(:), intent(inout) | mos, | ||
| type(dbcsr_p_type), dimension(:), pointer | matrix_ks, | ||
| type(dbcsr_p_type), dimension(:), pointer | matrix_s, | ||
| type(scf_control_type), pointer | scf_control, | ||
| type(section_vals_type), pointer | scf_section, | ||
| logical, intent(inout) | diis_step | ||
| ) |
the inner loop of scf, specific to iterative diagonalization using OT with S matrix; basically, in goes the ks matrix out goes a new p matrix
| scf_env | ... |
| mos | ... |
| matrix_ks | ... |
| matrix_s | ... |
| scf_control | ... |
| scf_section | ... |
| diis_step | ... |
Definition at line 1166 of file qs_scf_diagonalization.F.
| subroutine, public qs_scf_diagonalization::do_roks_diag | ( | type(qs_scf_env_type), pointer | scf_env, |
| type(mo_set_type), dimension(:), intent(in) | mos, | ||
| type(dbcsr_p_type), dimension(:), pointer | matrix_ks, | ||
| type(dbcsr_p_type), dimension(:), pointer | matrix_s, | ||
| type(scf_control_type), pointer | scf_control, | ||
| type(section_vals_type), pointer | scf_section, | ||
| logical, intent(inout) | diis_step, | ||
| logical, intent(in) | orthogonal_basis | ||
| ) |
Solve a set restricted open Kohn-Sham (ROKS) equations based on the alpha and beta Kohn-Sham matrices from unrestricted Kohn-Sham.
| scf_env | ... |
| mos | ... |
| matrix_ks | ... |
| matrix_s | ... |
| scf_control | ... |
| scf_section | ... |
| diis_step | ... |
| orthogonal_basis | ... |
Definition at line 1271 of file qs_scf_diagonalization.F.
| subroutine, public qs_scf_diagonalization::do_block_krylov_diag | ( | type(qs_scf_env_type), pointer | scf_env, |
| type(mo_set_type), dimension(:), intent(inout) | mos, | ||
| type(dbcsr_p_type), dimension(:), pointer | matrix_ks, | ||
| type(scf_control_type), pointer | scf_control, | ||
| type(section_vals_type), pointer | scf_section, | ||
| logical, intent(in), optional | check_moconv_only | ||
| ) |
iterative diagonalization using the block Krylov-space approach
| scf_env | ... |
| mos | ... |
| matrix_ks | ... |
| scf_control | ... |
| scf_section | ... |
| check_moconv_only | ... |
par History 05.2009 created [MI]
Definition at line 1546 of file qs_scf_diagonalization.F.
| subroutine, public qs_scf_diagonalization::do_block_davidson_diag | ( | type(qs_environment_type), pointer | qs_env, |
| type(qs_scf_env_type), pointer | scf_env, | ||
| type(mo_set_type), dimension(:), intent(inout) | mos, | ||
| type(dbcsr_p_type), dimension(:), pointer | matrix_ks, | ||
| type(dbcsr_p_type), dimension(:), pointer | matrix_s, | ||
| type(scf_control_type), pointer | scf_control, | ||
| type(section_vals_type), pointer | scf_section, | ||
| logical, intent(in), optional | check_moconv_only | ||
| ) |
iterative diagonalization using the block davidson space approach
| qs_env | ... |
| scf_env | ... |
| mos | ... |
| matrix_ks | ... |
| matrix_s | ... |
| scf_control | ... |
| scf_section | ... |
| check_moconv_only | ... |
par History 05.2011 created [MI]
Definition at line 1746 of file qs_scf_diagonalization.F.
| subroutine, public qs_scf_diagonalization::diag_kp_smat | ( | type(dbcsr_p_type), dimension(:, :), pointer | matrix_s, |
| type(kpoint_type), pointer | kpoints, | ||
| type(cp_fm_type), dimension(:) | fmwork | ||
| ) |
Kpoint diagonalization routine Transforms matrices to kpoint, distributes kpoint groups, performs diagonalization.
| matrix_s | Overlap matrices (RS indices, global) |
| kpoints | Kpoint environment |
| fmwork | full matrices distributed over all groups |
Definition at line 1854 of file qs_scf_diagonalization.F.