diff --git a/src/ec_efield_local.F b/src/ec_efield_local.F index fb82e74875..3998852395 100644 --- a/src/ec_efield_local.F +++ b/src/ec_efield_local.F @@ -221,7 +221,6 @@ CONTAINS IF (ec_env%should_update) THEN ec_env%efield_nuclear = -SUM(ci(:)*fieldpol(:)) - ! Update KS matrix matrix_ks => ec_env%matrix_h(:, 1) dipmat => efield%dipmat @@ -304,11 +303,11 @@ CONTAINS ! density matrix NULLIFY (p_block_a) CALL dbcsr_get_block_p(ec_env%matrix_p(1, 1)%matrix, irow, icol, p_block_a, found) -!deb IF (.NOT. found) CYCLE + IF (.NOT. found) CYCLE IF (SIZE(ec_env%matrix_p, 1) > 1) THEN NULLIFY (p_block_b) CALL dbcsr_get_block_p(ec_env%matrix_p(2, 1)%matrix, irow, icol, p_block_b, found) -!deb CPASSERT(found) + CPASSERT(found) END IF forcea = 0.0_dp forceb = 0.0_dp diff --git a/src/energy_corrections.F b/src/energy_corrections.F index e36ada466e..13fefc9fd5 100644 --- a/src/energy_corrections.F +++ b/src/energy_corrections.F @@ -51,6 +51,9 @@ MODULE energy_corrections cp_print_key_should_output,& cp_print_key_unit_nr USE cp_para_types, ONLY: cp_para_env_type + USE cp_result_methods, ONLY: cp_results_erase,& + put_results + USE cp_result_types, ONLY: cp_result_type USE dbcsr_api, ONLY: & dbcsr_add, dbcsr_copy, dbcsr_create, dbcsr_desymmetrize, dbcsr_distribution_type, & dbcsr_dot, dbcsr_filter, dbcsr_get_info, dbcsr_init_p, dbcsr_multiply, dbcsr_p_type, & @@ -1982,6 +1985,7 @@ CONTAINS CHARACTER(LEN=8), DIMENSION(3) :: rlab CHARACTER(LEN=default_path_length) :: filename + CHARACTER(LEN=default_string_length) :: description INTEGER :: akind, handle, i, ia, iatom, idir, & ikind, iounit, ispin, maxmom, nspins, & reference, unit_nr @@ -1993,6 +1997,7 @@ CONTAINS TYPE(cell_type), POINTER :: cell TYPE(cp_logger_type), POINTER :: logger TYPE(cp_para_env_type), POINTER :: para_env + TYPE(cp_result_type), POINTER :: results TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: matrix_s, moments TYPE(distribution_1d_type), POINTER :: local_particles TYPE(particle_type), DIMENSION(:), POINTER :: particle_set @@ -2104,8 +2109,8 @@ CONTAINS END DO CALL dbcsr_deallocate_matrix_set(moments) ! + tdip = -(rdip + pdip + cdip) IF (unit_nr > 0) THEN - tdip = -(rdip + pdip + cdip) WRITE (unit_nr, "(T3,A)") "Dipoles are based on the traditional operator." dd = SQRT(SUM(tdip(1:3)**2))*debye WRITE (unit_nr, "(T3,A)") "Dipole moment [Debye]" @@ -2117,6 +2122,10 @@ CONTAINS CALL cp_print_key_finished_output(unit_nr=unit_nr, logger=logger, & basis_section=qs_env%input, print_key_path="DFT%PRINT%MOMENTS") + CALL get_qs_env(qs_env=qs_env, results=results) + description = "[DIPOLE]" + CALL cp_results_erase(results=results, description=description) + CALL put_results(results=results, description=description, values=tdip(1:3)) END IF CALL timestop(handle) diff --git a/tests/QS/regtest-debug-5/TEST_FILES b/tests/QS/regtest-debug-5/TEST_FILES index da37345281..eadb7e4b52 100644 --- a/tests/QS/regtest-debug-5/TEST_FILES +++ b/tests/QS/regtest-debug-5/TEST_FILES @@ -21,17 +21,17 @@ h2o_dip22.inp 86 1e-08 h2o_dip23.inp 86 1e-08 0.292668779126E+00 h2o_dip24.inp 86 1e-04 0.143426397582E+00 h2o_dip25.inp 86 1e-08 0.149038318612E+00 -#h2o_dip26.inp 86 1e-05 0.000000000000E+00 EC - PADE - PADE HARRIS Basis -#h2o_dip27.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis -#h2o_dip28.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis -#h2o_dip29.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis -#h2o_dip30.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis -#h2o_dip31.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis -#h2o_dip32.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis -#h2o_dip33.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis -#h2o_dip34.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis +h2o_dip26.inp 86 1e-05 0.857182943913E+00 +h2o_dip27.inp 86 1e-05 0.853584233090E+00 +h2o_dip28.inp 86 1e-05 0.844810630096E+00 +#h2o_dip29.inp 86 1e-05 0.000000000000E+00 *EC - PBE0 - PADE HARRIS Basis +#h2o_dip30.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PBE HARRIS Basis +#h2o_dip31.inp 86 1e-05 0.000000000000E+00 *EC - HF - PADE HARRIS Basis +h2o_dip32.inp 86 1e-05 0.748223258169E+00 +#h2o_dip33.inp 86 1e-05 0.000000000000E+00 *EC - PBE0 - PBE HARRIS Basis +#h2o_dip34.inp 86 1e-05 0.000000000000E+00 *EC - PBE0/ADMM - PBE HARRIS Basis h2o_dip35.inp 86 1e-05 0.159623722231E+00 h2o_dip36.inp 86 1e-05 0.159624169779E+00 h2o_dip37.inp 86 1e-05 0.145842142590E+00 -#h2o_dip38.inp 86 1e-05 0.000000000000E+00 ADMM/DEFAULT +h2o_dip38.inp 86 1e-05 -0.156087402361E+00 #EOF diff --git a/tests/QS/regtest-debug-5/h2o_dip27.inp b/tests/QS/regtest-debug-5/h2o_dip27.inp index 15a387992a..f86d9080c4 100644 --- a/tests/QS/regtest-debug-5/h2o_dip27.inp +++ b/tests/QS/regtest-debug-5/h2o_dip27.inp @@ -7,6 +7,9 @@ &END QS &EFIELD &END + &MGRID + CUTOFF 200 + &END MGRID &ENERGY_CORRECTION ENERGY_FUNCTIONAL HARRIS HARRIS_BASIS ORBITAL @@ -25,10 +28,10 @@ &END &OUTER_SCF MAX_SCF 10 - EPS_SCF 1.0E-8 + EPS_SCF 1.0E-7 &END MAX_SCF 10 - EPS_SCF 1.0E-8 + EPS_SCF 1.0E-7 &END SCF &XC &XC_FUNCTIONAL PBE @@ -43,7 +46,7 @@ &END DFT &SUBSYS &CELL - ABC [angstrom] 6.0 6.0 6.0 + ABC [angstrom] 5.0 5.0 5.0 PERIODIC NONE &END &COORD diff --git a/tests/QS/regtest-debug-5/h2o_dip29.inp b/tests/QS/regtest-debug-5/h2o_dip29.inp index 95466259da..ad05f2f1b2 100644 --- a/tests/QS/regtest-debug-5/h2o_dip29.inp +++ b/tests/QS/regtest-debug-5/h2o_dip29.inp @@ -16,6 +16,12 @@ &END &END &END XC + &RESPONSE_SOLVER + METHOD MO_SOLVER + PRECONDITIONER FULL_SINGLE_INVERSE + EPS 1.E-5 + EPS_FILTER 1.E-6 + &END &END ENERGY_CORRECTION &SCF SCF_GUESS ATOMIC @@ -58,13 +64,11 @@ &KIND H BASIS_SET DZVP-GTH-PADE BASIS_SET HARRIS DZVP-GTH-PADE - BASIS_SET AUX_FIT FIT3 POTENTIAL GTH-PADE-q1 &END KIND &KIND O BASIS_SET DZVP-GTH-PADE BASIS_SET HARRIS DZVP-GTH-PADE - BASIS_SET AUX_FIT FIT3 POTENTIAL GTH-PADE-q6 &END KIND &END SUBSYS diff --git a/tests/QS/regtest-debug-5/h2o_dip30.inp b/tests/QS/regtest-debug-5/h2o_dip30.inp index 204e77e44e..2cebe7e102 100644 --- a/tests/QS/regtest-debug-5/h2o_dip30.inp +++ b/tests/QS/regtest-debug-5/h2o_dip30.inp @@ -16,6 +16,12 @@ &END &END &END XC + &RESPONSE_SOLVER + METHOD MO_SOLVER + PRECONDITIONER FULL_SINGLE_INVERSE + EPS 1.E-5 + EPS_FILTER 1.E-6 + &END &END ENERGY_CORRECTION &SCF SCF_GUESS ATOMIC @@ -58,13 +64,11 @@ &KIND H BASIS_SET DZVP-GTH-PADE BASIS_SET HARRIS DZVP-GTH-PADE - BASIS_SET AUX_FIT FIT3 POTENTIAL GTH-PADE-q1 &END KIND &KIND O BASIS_SET DZVP-GTH-PADE BASIS_SET HARRIS DZVP-GTH-PADE - BASIS_SET AUX_FIT FIT3 POTENTIAL GTH-PADE-q6 &END KIND &END SUBSYS diff --git a/tests/QS/regtest-debug-5/h2o_dip31.inp b/tests/QS/regtest-debug-5/h2o_dip31.inp index a9bbdb0137..68ed125d49 100644 --- a/tests/QS/regtest-debug-5/h2o_dip31.inp +++ b/tests/QS/regtest-debug-5/h2o_dip31.inp @@ -16,6 +16,12 @@ &END &END &END XC + &RESPONSE_SOLVER + METHOD MO_SOLVER + PRECONDITIONER FULL_SINGLE_INVERSE + EPS 1.E-5 + EPS_FILTER 1.E-6 + &END &END ENERGY_CORRECTION &SCF SCF_GUESS ATOMIC @@ -63,13 +69,11 @@ &KIND H BASIS_SET DZV-GTH-PADE BASIS_SET HARRIS DZVP-GTH-PADE - BASIS_SET AUX_FIT FIT3 POTENTIAL GTH-PADE-q1 &END KIND &KIND O BASIS_SET DZVP-GTH-PADE BASIS_SET HARRIS DZVP-GTH-PADE - BASIS_SET AUX_FIT FIT3 POTENTIAL GTH-PADE-q6 &END KIND &END SUBSYS diff --git a/tests/QS/regtest-debug-5/h2o_dip32.inp b/tests/QS/regtest-debug-5/h2o_dip32.inp index 1693fa25a6..13ac4d159e 100644 --- a/tests/QS/regtest-debug-5/h2o_dip32.inp +++ b/tests/QS/regtest-debug-5/h2o_dip32.inp @@ -7,6 +7,9 @@ &END QS &EFIELD &END + &MGRID + CUTOFF 200 + &END MGRID &ENERGY_CORRECTION ENERGY_FUNCTIONAL HARRIS HARRIS_BASIS HARRIS @@ -25,10 +28,10 @@ &END &OUTER_SCF MAX_SCF 10 - EPS_SCF 1.0E-8 + EPS_SCF 1.0E-7 &END MAX_SCF 10 - EPS_SCF 1.0E-8 + EPS_SCF 1.0E-7 &END SCF &XC &XC_FUNCTIONAL PBE @@ -43,7 +46,7 @@ &END DFT &SUBSYS &CELL - ABC [angstrom] 6.0 6.0 6.0 + ABC [angstrom] 5.0 5.0 5.0 PERIODIC NONE &END &COORD diff --git a/tests/QS/regtest-debug-5/h2o_dip33.inp b/tests/QS/regtest-debug-5/h2o_dip33.inp index ce3e807ea5..74f7863aea 100644 --- a/tests/QS/regtest-debug-5/h2o_dip33.inp +++ b/tests/QS/regtest-debug-5/h2o_dip33.inp @@ -16,6 +16,12 @@ &END &END &END XC + &RESPONSE_SOLVER + METHOD MO_SOLVER + PRECONDITIONER FULL_SINGLE_INVERSE + EPS 1.E-5 + EPS_FILTER 1.E-6 + &END &END ENERGY_CORRECTION &SCF SCF_GUESS ATOMIC @@ -58,13 +64,11 @@ &KIND H BASIS_SET DZVP-GTH-PADE BASIS_SET HARRIS DZVP-GTH-PADE - BASIS_SET AUX_FIT FIT3 POTENTIAL GTH-PADE-q1 &END KIND &KIND O BASIS_SET DZVP-GTH-PADE BASIS_SET HARRIS DZVP-GTH-PADE - BASIS_SET AUX_FIT FIT3 POTENTIAL GTH-PADE-q6 &END KIND &END SUBSYS diff --git a/tests/QS/regtest-debug-5/h2o_dip34.inp b/tests/QS/regtest-debug-5/h2o_dip34.inp index d44295fa42..7e4ec08700 100644 --- a/tests/QS/regtest-debug-5/h2o_dip34.inp +++ b/tests/QS/regtest-debug-5/h2o_dip34.inp @@ -24,6 +24,12 @@ &END &END &END XC + &RESPONSE_SOLVER + METHOD MO_SOLVER + PRECONDITIONER FULL_SINGLE_INVERSE + EPS 1.E-5 + EPS_FILTER 1.E-6 + &END &END ENERGY_CORRECTION &SCF SCF_GUESS ATOMIC diff --git a/tests/QS/regtest-debug-5/h2o_dip38.inp b/tests/QS/regtest-debug-5/h2o_dip38.inp index 883e248375..6ff6b3a648 100644 --- a/tests/QS/regtest-debug-5/h2o_dip38.inp +++ b/tests/QS/regtest-debug-5/h2o_dip38.inp @@ -3,6 +3,7 @@ &PROPERTIES &TDDFPT KERNEL FULL + ADMM_KERNEL_CORRECTION_SYMMETRIC NSTATES 1 MAX_ITER 50 CONVERGENCE [eV] 1.0e-7 @@ -12,6 +13,9 @@ BASIS_SET_FILE_NAME BASIS_SET BASIS_SET_FILE_NAME BASIS_ADMM POTENTIAL_FILE_NAME GTH_POTENTIALS + &MGRID + CUTOFF 200 + &END MGRID &QS METHOD GPW &END QS @@ -34,10 +38,10 @@ &END &OUTER_SCF MAX_SCF 10 - EPS_SCF 1.0E-7 + EPS_SCF 1.0E-6 &END MAX_SCF 10 - EPS_SCF 1.0E-7 + EPS_SCF 1.0E-6 &END SCF &XC &XC_FUNCTIONAL PBE0