![]() |
(git:50da671)
|
Utility routines for qs_scf. More...
Functions/Subroutines | |
subroutine, public | qs_scf_set_loop_flags (scf_env, diis_step, energy_only, just_energy, exit_inner_loop) |
computes properties for a given hamiltonian using the current wfn | |
subroutine, public | qs_scf_new_mos (qs_env, scf_env, scf_control, scf_section, diis_step, energy_only) |
takes known energy and derivatives and produces new wfns and or density matrix | |
subroutine, public | qs_scf_new_mos_kp (qs_env, scf_env, scf_control, diis_step) |
Updates MOs and density matrix using diagonalization Kpoint code. | |
subroutine, public | qs_scf_density_mixing (scf_env, rho, para_env, diis_step) |
Performs the requested density mixing if any needed. | |
subroutine, public | qs_scf_check_outer_exit (qs_env, scf_env, scf_control, should_stop, outer_loop_converged, exit_outer_loop) |
checks whether exit conditions for outer loop are satisfied | |
subroutine, public | qs_scf_check_inner_exit (qs_env, scf_env, scf_control, should_stop, exit_inner_loop, inner_loop_converged, output_unit) |
checks whether exit conditions for inner loop are satisfied | |
subroutine, public | qs_scf_rho_update (rho, qs_env, scf_env, ks_env, mix_rho) |
Performs the updates rho (takes care of mixing as well) | |
subroutine, public | qs_scf_inner_finalize (scf_env, qs_env, diis_step, output_unit) |
Performs the necessary steps before leaving innner scf loop. | |
Utility routines for qs_scf.
subroutine, public qs_scf_loop_utils::qs_scf_set_loop_flags | ( | type(qs_scf_env_type), pointer | scf_env, |
logical | diis_step, | ||
logical | energy_only, | ||
logical | just_energy, | ||
logical | exit_inner_loop | ||
) |
computes properties for a given hamiltonian using the current wfn
scf_env | ... |
diis_step | ... |
energy_only | ... |
just_energy | ... |
exit_inner_loop | ... |
Definition at line 87 of file qs_scf_loop_utils.F.
subroutine, public qs_scf_loop_utils::qs_scf_new_mos | ( | type(qs_environment_type), pointer | qs_env, |
type(qs_scf_env_type), pointer | scf_env, | ||
type(scf_control_type), pointer | scf_control, | ||
type(section_vals_type), pointer | scf_section, | ||
logical | diis_step, | ||
logical | energy_only | ||
) |
takes known energy and derivatives and produces new wfns and or density matrix
qs_env | ... |
scf_env | ... |
scf_control | ... |
scf_section | ... |
diis_step | ... |
energy_only | ... |
Definition at line 118 of file qs_scf_loop_utils.F.
subroutine, public qs_scf_loop_utils::qs_scf_new_mos_kp | ( | type(qs_environment_type), pointer | qs_env, |
type(qs_scf_env_type), pointer | scf_env, | ||
type(scf_control_type), pointer | scf_control, | ||
logical | diis_step | ||
) |
Updates MOs and density matrix using diagonalization Kpoint code.
qs_env | ... |
scf_env | ... |
scf_control | ... |
diis_step | ... |
Definition at line 289 of file qs_scf_loop_utils.F.
subroutine, public qs_scf_loop_utils::qs_scf_density_mixing | ( | type(qs_scf_env_type), pointer | scf_env, |
type(qs_rho_type), pointer | rho, | ||
type(mp_para_env_type), pointer | para_env, | ||
logical | diis_step | ||
) |
Performs the requested density mixing if any needed.
scf_env | Holds SCF environment information |
rho | All data for the electron density |
para_env | Parallel environment |
diis_step | Did we do a DIIS step? |
Definition at line 463 of file qs_scf_loop_utils.F.
subroutine, public qs_scf_loop_utils::qs_scf_check_outer_exit | ( | type(qs_environment_type), pointer | qs_env, |
type(qs_scf_env_type), pointer | scf_env, | ||
type(scf_control_type), pointer | scf_control, | ||
logical | should_stop, | ||
logical | outer_loop_converged, | ||
logical | exit_outer_loop | ||
) |
checks whether exit conditions for outer loop are satisfied
qs_env | ... |
scf_env | ... |
scf_control | ... |
should_stop | ... |
outer_loop_converged | ... |
exit_outer_loop | ... |
Definition at line 503 of file qs_scf_loop_utils.F.
subroutine, public qs_scf_loop_utils::qs_scf_check_inner_exit | ( | type(qs_environment_type), pointer | qs_env, |
type(qs_scf_env_type), pointer | scf_env, | ||
type(scf_control_type), pointer | scf_control, | ||
logical | should_stop, | ||
logical | exit_inner_loop, | ||
logical | inner_loop_converged, | ||
integer | output_unit | ||
) |
checks whether exit conditions for inner loop are satisfied
qs_env | ... |
scf_env | ... |
scf_control | ... |
should_stop | ... |
exit_inner_loop | ... |
inner_loop_converged | ... |
output_unit | ... |
Definition at line 541 of file qs_scf_loop_utils.F.
subroutine, public qs_scf_loop_utils::qs_scf_rho_update | ( | type(qs_rho_type), pointer | rho, |
type(qs_environment_type), pointer | qs_env, | ||
type(qs_scf_env_type), pointer | scf_env, | ||
type(qs_ks_env_type), pointer | ks_env, | ||
logical, intent(in) | mix_rho | ||
) |
Performs the updates rho (takes care of mixing as well)
rho | ... |
qs_env | ... |
scf_env | ... |
ks_env | ... |
mix_rho | ... |
Definition at line 629 of file qs_scf_loop_utils.F.
subroutine, public qs_scf_loop_utils::qs_scf_inner_finalize | ( | type(qs_scf_env_type), pointer | scf_env, |
type(qs_environment_type), pointer | qs_env, | ||
logical | diis_step, | ||
integer, intent(in) | output_unit | ||
) |
Performs the necessary steps before leaving innner scf loop.
scf_env | ... |
qs_env | ... |
diis_step | ... |
output_unit | ... |
Definition at line 659 of file qs_scf_loop_utils.F.