Documentation for module scf_control_types

parameters that control an scf iteration

source: scf_control_types.F
Loading...

public Types:

smear_type
...
scf_control_type
...

public Subroutines/Functions:

allocates and initializes an scf control object with the default values
reads the parameters of the scf section into the given scf_control
releases the given scf_control (see cp2k/doc/ReferenceCounting.html)
retains the given scf_control (see cp2k/doc/ReferenceCounting.html)
writes out the scf parameters

public Types:

TYPE :: scf_control_type

...


:: outer_scf ...
TYPE(smear_type),
POINTER :: smear ...
:: diagonalization ...
INTEGER
:: density_guess ...
INTEGER
:: mixing_method ...
REAL(dp)
:: eps_eigval ...
REAL(dp)
:: eps_scf ...
REAL(dp)
:: eps_scf_hist ...
REAL(dp)
:: level_shift ...
REAL(dp)
:: eps_lumos ...
REAL(dp)
:: eps_diis ...
INTEGER
:: max_iter_lumos ...
INTEGER
:: max_diis ...
INTEGER
:: nmixing ...
INTEGER
:: max_scf ...
INTEGER
:: max_scf_hist ...
INTEGER
:: maxl ...
INTEGER
:: nkind ...
LOGICAL
:: do_diag_sub ...
LOGICAL
:: use_cholesky ...
LOGICAL
:: use_ot ...
LOGICAL
:: use_diag ...
LOGICAL
:: do_outer_scf_reortho ...
INTEGER
:: ref_count ...
INTEGER
:: id_nr ...
INTEGER,
DIMENSION(2) :: added_mos ...
INTEGER
:: roks_scheme ...
REAL(dp)
:: roks_f ...
REAL(dp),
DIMENSION(0:2,0:2,1:2) :: roks_parameter ...

TYPE :: smear_type

...


LOGICAL
:: do_smear ...
LOGICAL
:: common_mu ...
INTEGER
:: method ...
REAL(dp)
:: electronic_temperature ...
REAL(dp)
:: fixed_mag_mom ...
REAL(dp)
:: eps_fermi_dirac ...
REAL(dp)
:: window_size ...
REAL(dp),
DIMENSION(:), POINTER :: list ...

SUBROUTINEscf_c_create(scf_control)

allocates and initializes an scf control object with the default values

Arguments:
POINTER
:: scf_control the object to initialize

SUBROUTINEscf_c_read_parameters(scf_control, inp_section)

reads the parameters of the scf section into the given scf_control

Arguments:
POINTER
:: scf_control the object that wil contain the values read
POINTER
:: inp_section ...

SUBROUTINEscf_c_release(scf_control)

releases the given scf_control (see cp2k/doc/ReferenceCounting.html)

Arguments:
POINTER
:: scf_control the object to free

SUBROUTINEscf_c_retain(scf_control)

retains the given scf_control (see cp2k/doc/ReferenceCounting.html)

Arguments:
POINTER
:: scf_control the object to retain

SUBROUTINEscf_c_write_parameters(scf_control, dft_section)

writes out the scf parameters

Arguments:
POINTER
:: scf_control the object you want to print
POINTER
:: dft_section ...

private Parameters/Types:

private Types:

TYPE :: diagonalization_type

...


INTEGER
:: method ...
REAL(dp)
:: eps_jacobi ...
REAL(dp)
:: jacobi_threshold ...
INTEGER
:: max_iter ...
INTEGER
:: nkrylov ...
INTEGER
:: nblock_krylov ...
LOGICAL
:: mom ...
LOGICAL
:: mom_didguess ...
INTEGER
:: mom_proj_formula ...
INTEGER,
DIMENSION(:), POINTER :: mom_deocca ...
INTEGER,
DIMENSION(:), POINTER :: mom_deoccb ...
INTEGER,
DIMENSION(:), POINTER :: mom_occa ...
INTEGER,
DIMENSION(:), POINTER :: mom_occb ...
INTEGER
:: mom_start ...
REAL(dp)
:: eps_iter ...
REAL(dp)
:: eps_adapt ...
:: ot_settings ...

TYPE :: outer_scf_control_type

contains the parameters needed by a scf run


LOGICAL
:: have_scf ...
LOGICAL
:: build_jacobian logical which determines if the inverse Jacobian should be computed
LOGICAL
:: broyden_update logical which determines if a Broyden update is needed
LOGICAL
:: continue_ls continue line search until max steps are reached or until the gradient no longer decreases
LOGICAL
:: jacobian_restart ...
INTEGER
:: max_scf max scf iterations
REAL(dp)
:: eps_scf whanted error on the whole scf
REAL(dp)
:: step_size the optimizer step size
REAL(dp)
:: jacobian_step the step size for calculating the finite difference Jacobian
REAL(dp)
:: newton_step the step size used by the Newton optimizer with values between 0 and 1
REAL(dp)
:: newton_step_save permanent copy of the above
REAL(dp)
:: factor_ls line search parameter used in generating a new step size
REAL(dp),
DIMENSION(:), POINTER :: jacobian_vector ...
INTEGER
:: type ...
INTEGER
:: optimizer ...
INTEGER
:: diis_buffer_length ...
INTEGER
:: extrapolation_order ...
INTEGER
:: bisect_trust_count ...
INTEGER
:: jacobian_type the finite difference scheme to compute the Jacobian
INTEGER
:: broyden_type the variant of Broyden's method to use
INTEGER
:: jacobian_freq control parameters defining how often the Jacobian is built
INTEGER
:: ijacobian counter to track how many outer_scf iterations have passed since the last Jacobian rebuild
INTEGER
:: max_ls the maximum number of backtracking line search steps to perform