From 671523f8fd0da1af59ea309227fb54ab803f3eeb Mon Sep 17 00:00:00 2001 From: abussy Date: Thu, 22 Dec 2022 12:04:06 +0100 Subject: [PATCH] RTP| avoid recomputing HFX integrals if ions are fixed --- src/emd/rt_propagation_methods.F | 4 ++ tests/QS/regtest-rtp-1/H2-hfx-emd.inp | 95 +++++++++++++++++++++++++++ tests/QS/regtest-rtp-1/H2-hfx-rtp.inp | 87 ++++++++++++++++++++++++ tests/QS/regtest-rtp-1/TEST_FILES | 2 + 4 files changed, 188 insertions(+) create mode 100644 tests/QS/regtest-rtp-1/H2-hfx-emd.inp create mode 100644 tests/QS/regtest-rtp-1/H2-hfx-rtp.inp diff --git a/src/emd/rt_propagation_methods.F b/src/emd/rt_propagation_methods.F index 1c3f2bf625..5859995333 100644 --- a/src/emd/rt_propagation_methods.F +++ b/src/emd/rt_propagation_methods.F @@ -60,6 +60,7 @@ MODULE rt_propagation_methods USE qs_environment_types, ONLY: get_qs_env,& qs_environment_type USE qs_ks_methods, ONLY: qs_ks_update_qs_env + USE qs_ks_types, ONLY: set_ks_env USE rt_make_propagators, ONLY: propagate_arnoldi,& propagate_bch,& propagate_exp,& @@ -127,6 +128,9 @@ CONTAINS CALL get_qs_env(qs_env, matrix_s=matrix_s) IF (rtp%iter == 1) THEN CALL qs_energies_init(qs_env, .FALSE.) + !the above recalculates matrix_s, but matrix not changed if ions are fixed + IF (rtp_control%fixed_ions) CALL set_ks_env(qs_env%ks_env, s_mstruct_changed=.FALSE.) + ! add additional terms for the velocity gauge to matrix_h and matrix_h_im ! should be called imediately after qs_energies_init and before qs_ks_update_qs_env IF (rtp_control%velocity_gauge) THEN diff --git a/tests/QS/regtest-rtp-1/H2-hfx-emd.inp b/tests/QS/regtest-rtp-1/H2-hfx-emd.inp new file mode 100644 index 0000000000..39c36ecc5b --- /dev/null +++ b/tests/QS/regtest-rtp-1/H2-hfx-emd.inp @@ -0,0 +1,95 @@ +&FORCE_EVAL + METHOD QUICKSTEP + &DFT + &REAL_TIME_PROPAGATION + MAX_ITER 5 + MAT_EXP TAYLOR + EPS_ITER 1.0E-9 + INITIAL_WFN SCF_WFN + &PRINT + &CURRENT + &EACH + MD 1 + &END EACH + STRIDE 3 3 3 + &END CURRENT + &END PRINT + &END + BASIS_SET_FILE_NAME BASIS_SET + POTENTIAL_FILE_NAME POTENTIAL + &MGRID + CUTOFF 100 + &END MGRID + &QS + EPS_DEFAULT 1.0E-10 + &END QS + &SCF + MAX_SCF 60 + EPS_SCF 1.0E-3 + SCF_GUESS ATOMIC + &OUTER_SCF + EPS_SCF 1.0E-3 + &END + &OT ON + ROTATION + &END OT + &END SCF + &XC + &XC_FUNCTIONAL NONE + &END XC_FUNCTIONAL + &HF + &INTERACTION_POTENTIAL + POTENTIAL_TYPE TRUNCATED + CUTOFF_RADIUS 2.5 + &END + &SCREENING + EPS_SCHWARZ 1.0E-14 + &END + &END + &END XC + &END DFT + &SUBSYS + &CELL + ABC 6.0 6.0 6.0 + &END CELL + &COORD + H 6.000000 4.5000000 6.000000 + H 6.000000 1.5000000 6.000000 + &END COORD + &KIND H + BASIS_SET DZVP-GTH-PBE + POTENTIAL GTH-PBE-q1 + &END KIND + &KIND HX + ELEMENT H + GHOST T + BASIS_SET DZVP-GTH-PBE + POTENTIAL GTH-PBE-q1 + &END KIND + &KIND O + BASIS_SET DZVP-GTH-PBE + POTENTIAL GTH-PBE-q6 + &END KIND + &END SUBSYS +&END FORCE_EVAL +&GLOBAL + PROJECT H2-hfx-emd + RUN_TYPE EHRENFEST_DYN +! RUN_TYPE ENERGY + PRINT_LEVEL LOW +&END GLOBAL +&MOTION + &MD + ENSEMBLE NVE + STEPS 2 + TIMESTEP [au_t] 0.25 + TEMPERATURE 300.0 + &END MD + &PRINT + &TRAJECTORY + &EACH + MD 1 + &END + &END + &END +&END MOTION diff --git a/tests/QS/regtest-rtp-1/H2-hfx-rtp.inp b/tests/QS/regtest-rtp-1/H2-hfx-rtp.inp new file mode 100644 index 0000000000..fde774efcd --- /dev/null +++ b/tests/QS/regtest-rtp-1/H2-hfx-rtp.inp @@ -0,0 +1,87 @@ +&FORCE_EVAL + METHOD QUICKSTEP + &DFT + &REAL_TIME_PROPAGATION + MAX_ITER 5 + MAT_EXP TAYLOR + EPS_ITER 1.0E-9 + INITIAL_WFN SCF_WFN + &END + BASIS_SET_FILE_NAME BASIS_SET + POTENTIAL_FILE_NAME POTENTIAL + &MGRID + CUTOFF 100 + &END MGRID + &QS + EPS_DEFAULT 1.0E-10 + &END QS + &SCF + MAX_SCF 60 + EPS_SCF 1.0E-3 + SCF_GUESS ATOMIC + &OUTER_SCF + EPS_SCF 1.0E-3 + &END + &OT ON + ROTATION + &END OT + &END SCF + &XC + &XC_FUNCTIONAL NONE + &END XC_FUNCTIONAL + &HF + &INTERACTION_POTENTIAL + POTENTIAL_TYPE TRUNCATED + CUTOFF_RADIUS 2.5 + &END + &SCREENING + EPS_SCHWARZ 1.0E-14 + &END + &END + &END XC + &END DFT + &SUBSYS + &CELL + ABC 6.0 6.0 6.0 + &END CELL + &COORD + H 6.000000 4.5000000 6.000000 + H 6.000000 1.5000000 6.000000 + &END COORD + &KIND H + BASIS_SET DZVP-GTH-PBE + POTENTIAL GTH-PBE-q1 + &END KIND + &KIND HX + ELEMENT H + GHOST T + BASIS_SET DZVP-GTH-PBE + POTENTIAL GTH-PBE-q1 + &END KIND + &KIND O + BASIS_SET DZVP-GTH-PBE + POTENTIAL GTH-PBE-q6 + &END KIND + &END SUBSYS +&END FORCE_EVAL +&GLOBAL + PROJECT H2-hfx-rtp + RUN_TYPE RT_PROPAGATION +! RUN_TYPE ENERGY + PRINT_LEVEL LOW +&END GLOBAL +&MOTION + &MD + ENSEMBLE NVE + STEPS 2 + TIMESTEP [au_t] 0.25 + TEMPERATURE 300.0 + &END MD + &PRINT + &TRAJECTORY + &EACH + MD 1 + &END + &END + &END +&END MOTION diff --git a/tests/QS/regtest-rtp-1/TEST_FILES b/tests/QS/regtest-rtp-1/TEST_FILES index e27f3a5233..b9c6078f74 100644 --- a/tests/QS/regtest-rtp-1/TEST_FILES +++ b/tests/QS/regtest-rtp-1/TEST_FILES @@ -7,7 +7,9 @@ H2plus-rtp.inp 1 4e-10 -0.52809706560000003 H2plus-rtp-1.inp 1 4e-10 -0.52809706560000003 H2-rtp.inp 1 3e-13 -0.90223968349591 +H2-hfx-rtp.inp 1 3e-13 -0.76693532081765 H2-emd.inp 2 1.0E-14 -0.902240019418E+00 +H2-hfx-emd.inp 2 1.0E-14 -0.766935659110E+00 H2plus-emd-1.inp 2 1.0E-14 -0.650541653984E+00 H2plus-emd.inp 2 1.0E-14 -0.640455127882E+00 #EOF