diff --git a/src/cp_control_types.F b/src/cp_control_types.F index 020b67a279..0fdea1fb5b 100644 --- a/src/cp_control_types.F +++ b/src/cp_control_types.F @@ -113,6 +113,8 @@ MODULE cp_control_types LOGICAL :: xb_interaction LOGICAL :: coulomb_interaction LOGICAL :: tb3_interaction + LOGICAL :: check_atomic_charges + ! REAL(KIND=dp) :: xb_radius ! CHARACTER(LEN=default_string_length), & diff --git a/src/cp_control_utils.F b/src/cp_control_utils.F index 6d9e248e89..6393849f21 100644 --- a/src/cp_control_utils.F +++ b/src/cp_control_utils.F @@ -1096,6 +1096,9 @@ CONTAINS l_val=qs_control%xtb_control%coulomb_interaction) CALL section_vals_val_get(xtb_section, "TB3_INTERACTION", & l_val=qs_control%xtb_control%tb3_interaction) + ! Check for bad atomic charges + CALL section_vals_val_get(xtb_section, "CHECK_ATOMIC_CHARGES", & + l_val=qs_control%xtb_control%check_atomic_charges) IF (n_rep > 0) THEN ALLOCATE (qs_control%xtb_control%kab_param(3, n_rep)) DO j = 1, n_rep diff --git a/src/input_cp2k_tb.F b/src/input_cp2k_tb.F index 3d24c91c7d..500dffec10 100644 --- a/src/input_cp2k_tb.F +++ b/src/input_cp2k_tb.F @@ -183,6 +183,12 @@ CONTAINS CALL section_add_keyword(section, keyword) CALL keyword_release(keyword) + CALL keyword_create(keyword, __LOCATION__, name="CHECK_ATOMIC_CHARGES", & + description="Stop calculation if atomic charges are outside chemical range.", & + usage="CHECK_ATOMIC_CHARGES T", default_l_val=.TRUE., lone_keyword_l_val=.TRUE.) + CALL section_add_keyword(section, keyword) + CALL keyword_release(keyword) + END SUBROUTINE create_xtb_control_section ! ************************************************************************************************** diff --git a/src/qs_initial_guess.F b/src/qs_initial_guess.F index 461818c8d2..bc535432e0 100644 --- a/src/qs_initial_guess.F +++ b/src/qs_initial_guess.F @@ -20,9 +20,14 @@ MODULE qs_initial_guess copy_fm_to_dbcsr,& cp_dbcsr_sm_fm_multiply,& cp_fm_to_dbcsr_row_template + USE cp_fm_cholesky, ONLY: cp_fm_cholesky_decompose + USE cp_fm_struct, ONLY: cp_fm_struct_create,& + cp_fm_struct_get,& + cp_fm_struct_release,& + cp_fm_struct_type USE cp_fm_types, ONLY: & - cp_fm_create, cp_fm_get_submatrix, cp_fm_init_random, cp_fm_p_type, cp_fm_release, & - cp_fm_set_all, cp_fm_set_submatrix, cp_fm_to_fm, cp_fm_type + cp_fm_create, cp_fm_get_info, cp_fm_get_submatrix, cp_fm_init_random, cp_fm_p_type, & + cp_fm_release, cp_fm_set_all, cp_fm_set_submatrix, cp_fm_to_fm, cp_fm_type USE cp_log_handling, ONLY: cp_get_default_logger,& cp_logger_get_default_io_unit,& cp_logger_type,& @@ -129,15 +134,15 @@ CONTAINS CHARACTER(LEN=default_path_length) :: file_name, filename INTEGER :: atom_a, blk, density_guess, group, handle, homo, i, iatom, ic, icol, id_nr, & ikind, irow, iseed(4), ispin, istart_col, istart_row, j, last_read, n, n_cols, n_rows, & - nao, natom, natoms, natoms_tmp, nelectron, nmo, nmo_tmp, not_read, nsgf, nspin, nvec, & - ounit, qs_env_id, safe_density_guess, size_atomic_kind_set, z + nao, natom, natoms, natoms_tmp, nblocks, nelectron, nmo, nmo_tmp, not_read, nsgf, nspin, & + nvec, ounit, qs_env_id, safe_density_guess, size_atomic_kind_set, z INTEGER, ALLOCATABLE, DIMENSION(:) :: first_sgf, kind_of, last_sgf INTEGER, DIMENSION(2) :: nelectron_spin INTEGER, DIMENSION(:), POINTER :: atom_list, elec_conf, nelec_kind, & sort_kind LOGICAL :: did_guess, do_kpoints, do_std_diag, & exist, has_unit_metric, & - natom_mismatch, ofgpw + natom_mismatch, need_wm, ofgpw REAL(dp), ALLOCATABLE, DIMENSION(:, :) :: buff, buff2 REAL(dp), DIMENSION(:, :), POINTER :: pdata REAL(KIND=dp) :: checksum, eps, length, maxocc, occ, & @@ -147,6 +152,7 @@ CONTAINS TYPE(atomic_kind_type), DIMENSION(:), POINTER :: atomic_kind_set TYPE(atomic_kind_type), POINTER :: atomic_kind TYPE(cp_fm_p_type), DIMENSION(:), POINTER :: work1 + TYPE(cp_fm_struct_type), POINTER :: ao_ao_struct, ao_mo_struct TYPE(cp_fm_type), POINTER :: mo_coeff, moa, mob, ortho, sv, work2 TYPE(cp_logger_type), POINTER :: logger TYPE(cp_para_env_type), POINTER :: para_env @@ -224,24 +230,31 @@ CONTAINS do_std_diag = .FALSE. safe_density_guess = atomic_guess - IF (dft_control%qs_control%semi_empirical .OR. & - dft_control%qs_control%dftb .OR. & - dft_control%qs_control%xtb) THEN + IF (dft_control%qs_control%semi_empirical .OR. dft_control%qs_control%dftb) THEN IF (density_guess == atomic_guess) density_guess = mopac_guess - ! in case we need to bail to a safe restart type later on safe_density_guess = mopac_guess END IF + IF (dft_control%qs_control%xtb) THEN + IF (do_kpoints) THEN + IF (density_guess == atomic_guess) density_guess = mopac_guess + safe_density_guess = mopac_guess + ELSE + IF (density_guess == atomic_guess) density_guess = core_guess + safe_density_guess = core_guess + END IF + END IF IF (scf_control%use_ot .AND. & (.NOT. ((density_guess == random_guess) .OR. & (density_guess == atomic_guess) .OR. & + (density_guess == core_guess) .OR. & (density_guess == mopac_guess) .OR. & (density_guess == sparse_guess) .OR. & (((density_guess == restart_guess) .OR. & (density_guess == history_guess)) .AND. & (scf_control%level_shift == 0.0_dp))))) THEN CALL cp_abort(__LOCATION__, & - "OT needs GUESS ATOMIC / RANDOM / SPARSE / RESTART / HISTORY RESTART: other options NYI") + "OT needs GUESS ATOMIC / CORE / RANDOM / SPARSE / RESTART / HISTORY RESTART: other options NYI") END IF ! if a restart was requested, check that the file exists, @@ -468,6 +481,35 @@ CONTAINS CPABORT("calculate_first_density_matrix: core_guess not implemented for k-points") ENDIF + IF (.NOT. ASSOCIATED(work1)) THEN + need_wm = .TRUE. + CPASSERT(.NOT. ASSOCIATED(work2)) + CPASSERT(.NOT. ASSOCIATED(ortho)) + ELSE + need_wm = .FALSE. + CPASSERT(ASSOCIATED(work2)) + END IF + + IF (need_wm) THEN + CALL get_mo_set(mo_set=mo_array(1)%mo_set, mo_coeff=moa) + CALL cp_fm_get_info(moa, matrix_struct=ao_mo_struct) + CALL cp_fm_struct_get(ao_mo_struct, nrow_global=nao, nrow_block=nblocks) + CALL cp_fm_struct_create(fmstruct=ao_ao_struct, & + nrow_block=nblocks, & + ncol_block=nblocks, & + nrow_global=nao, & + ncol_global=nao, & + template_fmstruct=ao_mo_struct) + ALLOCATE (work1(1)) + NULLIFY (work1(1)%matrix) + CALL cp_fm_create(work1(1)%matrix, ao_ao_struct) + CALL cp_fm_create(work2, ao_ao_struct) + CALL cp_fm_create(ortho, ao_ao_struct) + CALL copy_dbcsr_to_fm(matrix_s_kp(1, 1)%matrix, ortho) + CALL cp_fm_cholesky_decompose(ortho) + CALL cp_fm_struct_release(ao_ao_struct) + END IF + ispin = 1 ! Load core Hamiltonian into work matrix CALL copy_dbcsr_to_fm(h_core_sparse(1)%matrix, work1(ispin)%matrix) @@ -507,6 +549,15 @@ CONTAINS CALL calculate_density_matrix(mo_array(ispin)%mo_set, p_rmpv(ispin)%matrix) END DO + ! release intermediate matrices + IF (need_wm) THEN + CALL cp_fm_release(ortho) + CALL cp_fm_release(work2) + CALL cp_fm_release(work1(1)%matrix) + DEALLOCATE (work1) + NULLIFY (work1, work2, ortho) + END IF + did_guess = .TRUE. END IF diff --git a/src/scf_control_types.F b/src/scf_control_types.F index 657241966b..ab382ff0aa 100644 --- a/src/scf_control_types.F +++ b/src/scf_control_types.F @@ -20,13 +20,12 @@ MODULE scf_control_types cp_print_key_unit_nr USE cp_units, ONLY: cp_unit_from_cp2k USE input_constants, ONLY: & - atomic_guess, core_guess, diag_ot, direct_p_mix, general_roks, high_spin_roks, & - ot_algo_taylor_or_diag, outer_scf_basis_center_opt, outer_scf_cdft_constraint, & - outer_scf_ddapc_constraint, outer_scf_none, outer_scf_optimizer_bisect, & - outer_scf_optimizer_broyden, outer_scf_optimizer_diis, outer_scf_optimizer_newton, & - outer_scf_optimizer_newton_ls, outer_scf_optimizer_none, outer_scf_optimizer_sd, & - outer_scf_optimizer_secant, outer_scf_s2_constraint, smear_energy_window, & - smear_fermi_dirac, smear_list + atomic_guess, diag_ot, direct_p_mix, general_roks, high_spin_roks, ot_algo_taylor_or_diag, & + outer_scf_basis_center_opt, outer_scf_cdft_constraint, outer_scf_ddapc_constraint, & + outer_scf_none, outer_scf_optimizer_bisect, outer_scf_optimizer_broyden, & + outer_scf_optimizer_diis, outer_scf_optimizer_newton, outer_scf_optimizer_newton_ls, & + outer_scf_optimizer_none, outer_scf_optimizer_sd, outer_scf_optimizer_secant, & + outer_scf_s2_constraint, smear_energy_window, smear_fermi_dirac, smear_list USE input_cp2k_dft, ONLY: create_scf_section USE input_enumeration_types, ONLY: enum_i2c,& enumeration_type @@ -475,9 +474,6 @@ CONTAINS CALL section_vals_val_get(scf_section, "eps_scf_history", r_val=scf_control%eps_scf_hist) IF (scf_control%level_shift /= 0.0_dp) scf_control%use_cholesky = .FALSE. - IF (scf_control%use_ot .AND. (scf_control%density_guess == core_guess)) THEN - CPABORT("SCF_GUESS CORE is not supported for OT") - END IF ! Outer SCF subsection outer_scf_section => section_vals_get_subs_vals(scf_section, "OUTER_SCF") diff --git a/src/xtb_matrices.F b/src/xtb_matrices.F index 7222304bf5..23767fc32e 100644 --- a/src/xtb_matrices.F +++ b/src/xtb_matrices.F @@ -29,6 +29,7 @@ MODULE xtb_matrices USE cp_dbcsr_operations, ONLY: dbcsr_allocate_matrix_set USE cp_dbcsr_output, ONLY: cp_dbcsr_write_sparse_matrix USE cp_log_handling, ONLY: cp_get_default_logger,& + cp_logger_get_default_io_unit,& cp_logger_type USE cp_output_handling, ONLY: cp_p_file,& cp_print_key_finished_output,& @@ -956,7 +957,8 @@ CONTAINS nimg, nkind, ns, nsgf, nspins INTEGER, DIMENSION(25) :: lao INTEGER, DIMENSION(5) :: occ - REAL(KIND=dp) :: pc_ener, qmmm_el + LOGICAL :: pass_check + REAL(KIND=dp) :: achrg, chmax, pc_ener, qmmm_el REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: mcharge REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :) :: aocg, charges TYPE(atomic_kind_type), DIMENSION(:), POINTER :: atomic_kind_set @@ -980,9 +982,11 @@ CONTAINS NULLIFY (dft_control, logger, scf_section, matrix_p, particle_set, ks_env, & ks_matrix, rho, energy) - logger => cp_get_default_logger() CPASSERT(ASSOCIATED(qs_env)) + logger => cp_get_default_logger() + iounit = cp_logger_get_default_io_unit(logger) + CALL get_qs_env(qs_env, & dft_control=dft_control, & atomic_kind_set=atomic_kind_set, & @@ -1062,6 +1066,32 @@ CONTAINS CALL efield_tb_matrix(qs_env, ks_matrix, rho, mcharge, energy, calculate_forces, just_energy) + IF (dft_control%qs_control%xtb_control%check_atomic_charges) THEN + pass_check = .TRUE. + DO ikind = 1, nkind + CALL get_atomic_kind(atomic_kind_set(ikind), natom=na) + CALL get_qs_kind(qs_kind_set(ikind), xtb_parameter=xtb_kind) + CALL get_xtb_atom_param(xtb_kind, chmax=chmax) + DO iatom = 1, na + atom_a = atomic_kind_set(ikind)%atom_list(iatom) + achrg = mcharge(atom_a) + IF (ABS(achrg) > chmax) THEN + IF (iounit > 0) THEN + WRITE (iounit, "(A,A,I3,I6,A,F4.2,A,F6.2)") " Charge outside chemical range:", & + " Kind Atom=", ikind, atom_a, " Limit=", chmax, " Charge=", achrg + END IF + pass_check = .FALSE. + END IF + END DO + END DO + IF (.NOT. pass_check) THEN + CALL cp_warn(__LOCATION__, "Atomic charges outside chemical range were detected."// & + " Switch-off CHECK_ATOMIC_CHARGES keyword in the &xTB section"// & + " if you want to force to continue the calculation.") + CPABORT("xTB Charges") + END IF + END IF + DEALLOCATE (mcharge, charges) END IF diff --git a/src/xtb_parameters.F b/src/xtb_parameters.F index 63587ba2dc..39ae5dd4a5 100644 --- a/src/xtb_parameters.F +++ b/src/xtb_parameters.F @@ -133,7 +133,29 @@ MODULE xtb_parameters 2.42_dp, 2.11_dp, 2.01_dp, & 1.90_dp, 1.84_dp, 1.83_dp, 1.80_dp, 1.80_dp, 1.51_dp, 0.96_dp, 1.54_dp, & 1.83_dp, 1.50_dp, 1.50_dp, 1.50_dp, 1.50_dp, 1.50_dp, & ! Actinides - 1.50_dp, 1.50_dp,10.50_dp/) + 1.50_dp, 1.50_dp, 1.50_dp/) +!&> + +!&< + ! Charge Limits + REAL(KIND=dp), DIMENSION(0:nelem), & + PARAMETER, PRIVATE :: clmt = (/0.00_dp, & ! 0 + 1.00_dp, 0.50_dp, & ! 2 + 1.00_dp, 2.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 2.00_dp, 1.00_dp, 0.50_dp, & ! 10 + 1.00_dp, 2.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 2.00_dp, 1.00_dp, 0.50_dp, & ! 18 + 1.00_dp, 2.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, & + 3.00_dp, 3.00_dp, 3.00_dp, 2.00_dp, 2.03_dp, 2.00_dp, 2.00_dp, 2.00_dp, 1.00_dp, 0.50_dp, & ! 36 + 1.00_dp, 2.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, & + 3.00_dp, 3.00_dp, 3.00_dp, 2.00_dp, 2.00_dp, 2.00_dp, 2.00_dp, 2.00_dp, 1.00_dp, 0.50_dp, & ! 54 + 1.00_dp, 2.00_dp, 3.00_dp, & + 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, & + 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, & ! Lanthanides + 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, & + 2.00_dp, 2.00_dp, 2.00_dp, 2.00_dp, 2.00_dp, 1.00_dp, 0.50_dp, & ! 86 + 1.00_dp, 2.00_dp, 3.00_dp, & + 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, & + 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, & ! Actinides + 3.00_dp, 3.00_dp, 3.00_dp/) !&> ! *** Global parameters *** @@ -449,6 +471,8 @@ CONTAINS param%kx = 0.1_dp*0.220000_dp END SELECT END IF + ! chmax + param%chmax = clmt(i) END IF END SUBROUTINE xtb_parameters_set diff --git a/src/xtb_types.F b/src/xtb_types.F index 10d0beac88..1fc302a116 100644 --- a/src/xtb_types.F +++ b/src/xtb_types.F @@ -69,6 +69,8 @@ MODULE xtb_types REAL(KIND=dp), DIMENSION(5) :: zeta ! AO to shell pointer INTEGER, DIMENSION(25) :: nao, lao + ! Upper limit of Mulliken charge + REAL(KIND=dp) :: chmax END TYPE xtb_atom_type ! *** Public data types *** @@ -120,6 +122,7 @@ CONTAINS xtb_parameter%zeta = 0.0_dp xtb_parameter%nao = 0 xtb_parameter%lao = 0 + xtb_parameter%chmax = 0.0_dp END SUBROUTINE allocate_xtb_atom_param @@ -168,10 +171,11 @@ CONTAINS !> \param zeta ... !> \param occupation ... !> \param electronegativity ... +!> \param chmax ... ! ************************************************************************************************** SUBROUTINE get_xtb_atom_param(xtb_parameter, symbol, aname, typ, defined, z, zeff, natorb, lmax, nao, lao, & rcut, rcov, kx, eta, xgamma, alpha, zneff, nshell, nval, lval, kpoly, kappa, & - hen, zeta, occupation, electronegativity) + hen, zeta, occupation, electronegativity, chmax) TYPE(xtb_atom_type), POINTER :: xtb_parameter CHARACTER(LEN=2), INTENT(OUT), OPTIONAL :: symbol @@ -187,7 +191,7 @@ CONTAINS INTEGER, DIMENSION(5), INTENT(OUT), OPTIONAL :: nval, lval REAL(KIND=dp), DIMENSION(5), INTENT(OUT), OPTIONAL :: kpoly, kappa, hen, zeta INTEGER, DIMENSION(5), INTENT(OUT), OPTIONAL :: occupation - REAL(KIND=dp), INTENT(OUT), OPTIONAL :: electronegativity + REAL(KIND=dp), INTENT(OUT), OPTIONAL :: electronegativity, chmax CHARACTER(LEN=*), PARAMETER :: routineN = 'get_xtb_atom_param', & routineP = moduleN//':'//routineN @@ -221,6 +225,7 @@ CONTAINS IF (PRESENT(kappa)) kappa = xtb_parameter%kappa IF (PRESENT(hen)) hen = xtb_parameter%hen IF (PRESENT(zeta)) zeta = xtb_parameter%zeta + IF (PRESENT(chmax)) chmax = xtb_parameter%chmax END SUBROUTINE get_xtb_atom_param @@ -252,10 +257,11 @@ CONTAINS !> \param zeta ... !> \param electronegativity ... !> \param occupation ... +!> \param chmax ... ! ************************************************************************************************** SUBROUTINE set_xtb_atom_param(xtb_parameter, aname, typ, defined, z, zeff, natorb, lmax, nao, lao, & rcut, rcov, kx, eta, xgamma, alpha, zneff, nshell, nval, lval, kpoly, kappa, & - hen, zeta, electronegativity, occupation) + hen, zeta, electronegativity, occupation, chmax) TYPE(xtb_atom_type), POINTER :: xtb_parameter CHARACTER(LEN=default_string_length), INTENT(IN), & @@ -271,6 +277,7 @@ CONTAINS REAL(KIND=dp), DIMENSION(5), INTENT(IN), OPTIONAL :: kpoly, kappa, hen, zeta REAL(KIND=dp), INTENT(IN), OPTIONAL :: electronegativity INTEGER, DIMENSION(5), INTENT(IN), OPTIONAL :: occupation + REAL(KIND=dp), INTENT(IN), OPTIONAL :: chmax CHARACTER(LEN=*), PARAMETER :: routineN = 'set_xtb_atom_param', & routineP = moduleN//':'//routineN @@ -303,6 +310,7 @@ CONTAINS IF (PRESENT(kappa)) xtb_parameter%kappa = kappa IF (PRESENT(hen)) xtb_parameter%hen = hen IF (PRESENT(zeta)) xtb_parameter%zeta = zeta + IF (PRESENT(chmax)) xtb_parameter%chmax = chmax END SUBROUTINE set_xtb_atom_param diff --git a/tests/QMMM/xTB/regtest/TEST_FILES b/tests/QMMM/xTB/regtest/TEST_FILES index f421c42691..a3ae824ebc 100644 --- a/tests/QMMM/xTB/regtest/TEST_FILES +++ b/tests/QMMM/xTB/regtest/TEST_FILES @@ -4,14 +4,14 @@ # 1 compares the last total energy in the file # for details see cp2k/tools/do_regtest # QM/MM -wdim_scc.inp 1 1.0E-14 -5.77017237045416 -wdim_nonscc.inp 1 1.0E-14 -5.77017237045416 -wdimmc_scc.inp 1 1.0E-14 -5.76659939304634 -wdimmc_nonscc.inp 1 1.0E-14 -5.76659939304634 -epc_1.inp 1 1.0E-14 -5.77019903371505 -epc_2.inp 1 1.0E-14 -5.77017237045416 -epc_3.inp 1 1.0E-14 -5.77019903371505 -epc_4.inp 1 1.0E-14 -5.77021119364704 +wdim_scc.inp 1 1.0E-14 -5.77017237051011 +wdim_nonscc.inp 1 1.0E-14 -5.77017237051011 +wdimmc_scc.inp 1 1.0E-14 -5.76659939309740 +wdimmc_nonscc.inp 1 1.0E-14 -5.76659939309740 +epc_1.inp 1 1.0E-14 -5.77019903377017 +epc_2.inp 1 1.0E-14 -5.77017237051011 +epc_3.inp 1 1.0E-14 -5.77019903377017 +epc_4.inp 1 1.0E-14 -5.77021119370205 fdeb_1.inp 0 fdeb_2.inp 0 fdeb_3.inp 0 diff --git a/tests/QMMM/xTB/regtest/TEST_FILES_RESET b/tests/QMMM/xTB/regtest/TEST_FILES_RESET new file mode 100644 index 0000000000..792d600548 --- /dev/null +++ b/tests/QMMM/xTB/regtest/TEST_FILES_RESET @@ -0,0 +1 @@ +# diff --git a/tests/xTB/regtest-1/ch2o_lsd.inp b/tests/xTB/regtest-1/ch2o_lsd.inp index 8cc821f16b..dd2446f2b1 100644 --- a/tests/xTB/regtest-1/ch2o_lsd.inp +++ b/tests/xTB/regtest-1/ch2o_lsd.inp @@ -19,7 +19,6 @@ &END XTB &END QS &SCF - SCF_GUESS MOPAC MAX_SCF 100 EPS_SCF 1.e-8 &MIXING diff --git a/tests/xTB/regtest-2/TEST_FILES b/tests/xTB/regtest-2/TEST_FILES index 22908aa64d..2076ea830a 100644 --- a/tests/xTB/regtest-2/TEST_FILES +++ b/tests/xTB/regtest-2/TEST_FILES @@ -5,17 +5,17 @@ # for details see cp2k/tools/do_regtest # test mulliken constraints H2O-field-gopt.inp 1 3e-11 -5.76900010512329 -H2O-field-gopt-lsd.inp 1 4e-12 -5.76962022533468 +H2O-field-gopt-lsd.inp 1 4e-12 -5.76960970105321 H2O-field.inp 0 4e-13 H2O-field-lsd.inp 1 4e-14 -5.76948986139975 HF-field.inp 1 1e-12 -5.62817044142931 -HF-field-gopt.inp 1 1e-10 -5.66007154649222 +HF-field-gopt.inp 1 5e-10 -5.660071543833 HF-field-debug.inp 0 1e-12 HF-dfilter-debug.inp 0 1e-12 HF-dfield-gopt.inp 1 1e-09 -5.66113975858277 HF-dfield.inp 1 1e-12 -5.66099020967573 HF-dfield-debug.inp 0 1e-12 HF-loc-field.inp 1 1e-12 -5.65286303322644 -HF-loc-field-gopt.inp 1 1e-12 -5.66976248351310 +HF-loc-field-gopt.inp 1 5e-10 -5.669762483711 HF-loc-field-debug.inp 0 1e-12 #EOF diff --git a/tests/xTB/regtest-3/TEST_FILES b/tests/xTB/regtest-3/TEST_FILES index e218afa725..9c352c772d 100644 --- a/tests/xTB/regtest-3/TEST_FILES +++ b/tests/xTB/regtest-3/TEST_FILES @@ -6,14 +6,14 @@ NdF3.inp 1 1.0E-12 -16.30904020314352 h2o_rtp.inp 1 1.0E-12 -5.76549019125162 h2o_emd.inp 1 1.0E-12 -5.76683221361977 -si8_wan.inp 1 1.0E-12 -14.36403406085475 +si8_wan.inp 1 1.0E-12 -14.36403406798006 si_kp.inp 1 1.0E-12 -14.75266668089111 tmol.inp 1 1.0E-12 -41.90853885813247 ch2o.inp 1 1.0E-12 -7.84456570305608 ch2o_print.inp 1 1.0E-12 -7.84456570305608 -ch2o_cube.inp 1 1.0E-12 -7.21158537124034 +ch2o_cube.inp 1 1.0E-12 -7.84456570305607 ch2o_loc.inp 1 1.0E-12 -13.55045387785839 -ch2o_mos.inp 1 1.0E-12 -7.21158537124034 +ch2o_mos.inp 1 1.0E-12 -7.84456570305607 si_print.inp 1 1.0E-12 -14.75266668089325 si_band.inp 1 1.0E-12 -14.75266668089325 H2O-geo-pdos.inp 1 1.0E-12 -5.76984102059289 diff --git a/tests/xTB/regtest-3/ch2o_cube.inp b/tests/xTB/regtest-3/ch2o_cube.inp index e23543e511..b3d2ae6dd6 100644 --- a/tests/xTB/regtest-3/ch2o_cube.inp +++ b/tests/xTB/regtest-3/ch2o_cube.inp @@ -8,7 +8,6 @@ CUTOFF 100 &END MGRID &SCF - SCF_GUESS MOPAC MAX_SCF 100 EPS_SCF 1.e-8 &END SCF diff --git a/tests/xTB/regtest-3/ch2o_mos.inp b/tests/xTB/regtest-3/ch2o_mos.inp index 528a9fefcb..7823bb2668 100644 --- a/tests/xTB/regtest-3/ch2o_mos.inp +++ b/tests/xTB/regtest-3/ch2o_mos.inp @@ -8,7 +8,6 @@ CUTOFF 100 &END MGRID &SCF - SCF_GUESS MOPAC MAX_SCF 100 EPS_SCF 1.e-8 ADDED_MOS 10 10