(git:b1f098b)
Loading...
Searching...
No Matches
qs_scf_loop_utils Module Reference

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.
 

Detailed Description

Utility routines for qs_scf.

Function/Subroutine Documentation

◆ qs_scf_set_loop_flags()

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

Parameters
scf_env...
diis_step...
energy_only...
just_energy...
exit_inner_loop...

Definition at line 90 of file qs_scf_loop_utils.F.

Here is the caller graph for this function:

◆ qs_scf_new_mos()

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

Parameters
qs_env...
scf_env...
scf_control...
scf_section...
diis_step...
energy_only...

Definition at line 121 of file qs_scf_loop_utils.F.

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

◆ qs_scf_new_mos_kp()

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.

Parameters
qs_env...
scf_env...
scf_control...
diis_step...

Definition at line 292 of file qs_scf_loop_utils.F.

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

◆ qs_scf_density_mixing()

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.

Parameters
scf_envHolds SCF environment information
rhoAll data for the electron density
para_envParallel environment
diis_stepDid we do a DIIS step?

Definition at line 453 of file qs_scf_loop_utils.F.

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

◆ qs_scf_check_outer_exit()

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

Parameters
qs_env...
scf_env...
scf_control...
should_stop...
outer_loop_converged...
exit_outer_loop...

Definition at line 493 of file qs_scf_loop_utils.F.

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

◆ qs_scf_check_inner_exit()

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

Parameters
qs_env...
scf_env...
scf_control...
should_stop...
exit_inner_loop...
inner_loop_converged...
output_unit...

Definition at line 531 of file qs_scf_loop_utils.F.

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

◆ qs_scf_rho_update()

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)

Parameters
rho...
qs_env...
scf_env...
ks_env...
mix_rho...

Definition at line 619 of file qs_scf_loop_utils.F.

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

◆ qs_scf_inner_finalize()

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.

Parameters
scf_env...
qs_env...
diis_step...
output_unit...

Definition at line 649 of file qs_scf_loop_utils.F.

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