Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=c_int64_t), | public | :: | hamilton | = | 10 | ||
integer(kind=c_int64_t), | public | :: | scftype | = | 1 | ||
character(len=c_char), | public | :: | runtype(20) | = | '' | ||
integer(kind=c_int64_t), | public | :: | guess | = | 1 | ||
integer(kind=c_int64_t), | public | :: | maxit | = | 3 | ||
integer(kind=c_int64_t), | public | :: | maxit_dav | = | 50 | ||
integer(kind=c_int64_t), | public | :: | maxit_zv | = | 50 | ||
integer(kind=c_int64_t), | public | :: | maxdiis | = | 7 | ||
integer(kind=c_int64_t), | public | :: | diis_reset_mod | = | 10 | ||
real(kind=c_double), | public | :: | diis_reset_conv | = | 0.005_dp | ||
real(kind=c_double), | public | :: | diis_method_threshold | = | 2.0_dp | ||
integer(kind=c_int64_t), | public | :: | diis_type | = | 5 | ||
real(kind=c_double), | public | :: | vdiis_cdiis_switch | = | 0.3_dp | ||
real(kind=c_double), | public | :: | vdiis_vshift_switch | = | 0.003_dp | ||
real(kind=c_double), | public | :: | vshift_cdiis_switch | = | 0.3_dp | ||
real(kind=c_double), | public | :: | vshift | = | 0.0_dp | ||
logical(kind=c_bool), | public | :: | mom | = | .false. | ||
logical(kind=c_bool), | public | :: | pfon | = | .false. | ||
real(kind=c_double), | public | :: | mom_switch | = | 0.003_dp | ||
real(kind=c_double), | public | :: | pfon_start_temp | = | 2000.0_dp | ||
real(kind=c_double), | public | :: | pfon_cooling_rate | = | 50.0_dp | ||
real(kind=c_double), | public | :: | pfon_nsmear | = | 5.0_dp | ||
real(kind=c_double), | public | :: | conv | = | 1e-6_dp | ||
integer(kind=c_int64_t), | public | :: | scf_incremental | = | 1 | ||
real(kind=c_double), | public | :: | int2e_cutoff | = | 5e-11_dp | ||
integer(kind=c_int64_t), | public | :: | esp | = | 0 | ||
integer(kind=c_int64_t), | public | :: | resp_target | = | 0 | ||
real(kind=c_double), | public | :: | resp_constr | = | 0.01 | ||
logical(kind=c_bool), | public | :: | basis_set_issue | = | .false. | ||
real(kind=c_double), | public | :: | conf_print_threshold | = | 5.0d-02 |
type, public, bind(C) :: control_parameters integer(c_int64_t) :: hamilton = 10 !< The method of calculations: 10=HF, 20=DFT integer(c_int64_t) :: scftype = 1 !< Refence wavefuction, 1= RHF 2= UHF 3= ROHF character(c_char) :: runtype(20) = '' !< Run type: energy, grad, etc. integer(c_int64_t) :: guess = 1 !< used guess integer(c_int64_t) :: maxit = 3 !< The maximum number of iterations integer(c_int64_t) :: maxit_dav = 50 !< The maximum number of iterations in Davidson eigensolver integer(c_int64_t) :: maxit_zv = 50 !< The maximum number of CG iterations in Z-vector subroutines integer(c_int64_t) :: maxdiis = 7 !< The maximum number of diis equations integer(c_int64_t) :: diis_reset_mod = 10 !< The maximum number of diis iteration before resetting real(c_double) :: diis_reset_conv = 0.005_dp !< Convergency criteria of DIIS reset real(c_double) :: diis_method_threshold = 2.0_dp !< DIIS threshold for switching DIIS method integer(c_int64_t) :: diis_type = 5 !< 1: none, 2: cdiis, 3: ediis, 4: adiis, 5: vdiis real(c_double) :: vdiis_cdiis_switch = 0.3_dp !< The threshold for selecting cdiis real(c_double) :: vdiis_vshift_switch = 0.003_dp !< The threshold for setting vshift = 0 real(c_double) :: vshift_cdiis_switch = 0.3_dp !< The threshold for selecting cdiis for vshift real(c_double) :: vshift = 0.0_dp !< Virtual orbital shift for ROHF logical(c_bool) :: mom = .false. !< Maximum Overlap Method for SCF Convergency logical(c_bool) :: pfon = .false. !< Pseudo-Fractional Occupation Number Method (pFON) for scf real(c_double) :: mom_switch = 0.003_dp !< Turn on criteria of DIIS error real(c_double) :: pfon_start_temp = 2000.0_dp !< Starting tempreature for pFON real(c_double) :: pfon_cooling_rate = 50.0_dp !< Tempreature cooling rate for pFON real(c_double) :: pfon_nsmear = 5.0_dp !< Num. of smearing orbitals for pFON if = 0, all real(c_double) :: conv = 1e-6_dp !< Convergency criteria of SCF integer(c_int64_t) :: scf_incremental = 1 !< Enable/disable incremental Fock build real(c_double) :: int2e_cutoff = 5e-11_dp !< 2e-integrals cutoff integer(c_int64_t) :: esp = 0 !< (R)ESP charges, 0 - skip, 1 - ESP, 2 - RESP integer(c_int64_t) :: resp_target = 0 !< RESP charges target: 0 - zero, 1 - Mulliken real(c_double) :: resp_constr = 0.01 !< RESP charges constraint logical(c_bool) :: basis_set_issue = .false. !< Basis set issue flag real(c_double) :: conf_print_threshold = 5.0d-02 !< The threshold for configuration printout end type control_parameters