RTP| fixed ADMM restart

This commit is contained in:
abussy 2023-04-21 15:27:30 +02:00 committed by Augustin Bussy
parent 3afc3800dd
commit 84b2f9aa0f
4 changed files with 175 additions and 32 deletions

View file

@ -13,13 +13,9 @@
MODULE rt_propagation
USE bibliography, ONLY: Andermatt2016,&
cite_reference
USE cp_blacs_env, ONLY: cp_blacs_env_type
USE cp_control_types, ONLY: dft_control_type,&
rtp_control_type
USE cp_external_control, ONLY: external_control
USE cp_fm_struct, ONLY: cp_fm_struct_create,&
cp_fm_struct_release,&
cp_fm_struct_type
USE cp_fm_types, ONLY: cp_fm_set_all,&
cp_fm_to_fm,&
cp_fm_type
@ -37,6 +33,7 @@ MODULE rt_propagation
USE force_env_types, ONLY: force_env_get,&
force_env_type
USE global_types, ONLY: global_environment_type
USE hfx_admm_utils, ONLY: hfx_admm_init
USE input_constants, ONLY: real_time_propagation,&
use_restart_wfn,&
use_rt_restart,&
@ -50,7 +47,6 @@ MODULE rt_propagation
USE kinds, ONLY: dp
USE machine, ONLY: m_walltime
USE md_environment_types, ONLY: md_environment_type
USE message_passing, ONLY: mp_para_env_type
USE pw_env_types, ONLY: pw_env_type
USE qs_core_hamiltonian, ONLY: qs_matrix_h_allocate_imag_from_real
USE qs_energy_init, ONLY: qs_energies_init
@ -59,8 +55,6 @@ MODULE rt_propagation
qs_environment_type
USE qs_external_potential, ONLY: external_c_potential,&
external_e_potential
USE qs_kind_types, ONLY: get_qs_kind_set,&
qs_kind_type
USE qs_ks_methods, ONLY: qs_ks_allocate_basics,&
qs_ks_update_qs_env
USE qs_ks_types, ONLY: qs_ks_did_change,&
@ -452,17 +446,13 @@ CONTAINS
TYPE(force_env_type), POINTER :: force_env
TYPE(rtp_control_type), POINTER :: rtp_control
INTEGER :: homo, ispin, nao_aux_fit, nmo
INTEGER :: homo, ispin
LOGICAL :: energy_consistency
TYPE(cp_blacs_env_type), POINTER :: blacs_env
TYPE(cp_fm_struct_type), POINTER :: aux_fit_fm_struct
TYPE(cp_fm_type), POINTER :: mo_coeff, mo_coeff_aux_fit
TYPE(cp_fm_type), POINTER :: mo_coeff
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: matrix_s
TYPE(dft_control_type), POINTER :: dft_control
TYPE(mp_para_env_type), POINTER :: para_env
TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set
NULLIFY (matrix_s, dft_control, blacs_env, para_env, qs_kind_set, aux_fit_fm_struct)
NULLIFY (matrix_s, dft_control)
CALL get_qs_env(qs_env, dft_control=dft_control)
SELECT CASE (rtp_control%initial_wfn)
@ -478,7 +468,7 @@ CONTAINS
ALLOCATE (qs_env%rtp)
CALL get_qs_env(qs_env, matrix_s=matrix_s)
IF (dft_control%do_admm) THEN
CPASSERT(ASSOCIATED(qs_env%admm_env))
CALL hfx_admm_init(qs_env)
CALL rt_prop_create(qs_env%rtp, qs_env%mos, qs_env%mpools, dft_control, matrix_s(1)%matrix, &
rtp_control%linear_scaling, qs_env%admm_env%mos_aux_fit)
ELSE
@ -497,23 +487,7 @@ CONTAINS
name="qs_env%mo"//TRIM(ADJUSTL(cp_to_string(ispin))))
END IF
END DO
IF (dft_control%do_admm) THEN
CPASSERT(ASSOCIATED(qs_env%admm_env%mos_aux_fit))
CALL get_qs_env(qs_env, blacs_env=blacs_env, para_env=para_env, qs_kind_set=qs_kind_set)
CALL get_qs_kind_set(qs_kind_set, nsgf=nao_aux_fit, basis_type="AUX_FIT")
DO ispin = 1, SIZE(qs_env%admm_env%mos_aux_fit)
CALL get_mo_set(mo_set=qs_env%mos(ispin), nmo=nmo)
CALL cp_fm_struct_create(aux_fit_fm_struct, context=blacs_env, para_env=para_env, &
nrow_global=nao_aux_fit, ncol_global=nmo)
CALL get_mo_set(qs_env%admm_env%mos_aux_fit(ispin), mo_coeff=mo_coeff_aux_fit, homo=homo)
IF (.NOT. ASSOCIATED(mo_coeff_aux_fit)) THEN
CALL init_mo_set(qs_env%admm_env%mos_aux_fit(ispin), &
fm_struct=aux_fit_fm_struct, &
name="qs_env%mo_aux_fit"//TRIM(ADJUSTL(cp_to_string(ispin))))
END IF
CALL cp_fm_struct_release(aux_fit_fm_struct)
END DO
END IF
IF (dft_control%do_admm) CALL hfx_admm_init(qs_env)
END IF
ALLOCATE (qs_env%rtp)
CALL get_qs_env(qs_env, matrix_s=matrix_s)

View file

@ -0,0 +1,82 @@
&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
BASIS_SET_FILE_NAME BASIS_ADMM
POTENTIAL_FILE_NAME POTENTIAL
&AUXILIARY_DENSITY_MATRIX_METHOD
METHOD BASIS_PROJECTION
ADMM_PURIFICATION_METHOD NONE
&END
&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
BASIS_SET AUX_FIT FIT3
POTENTIAL GTH-PBE-q1
&END KIND
&END SUBSYS
&END FORCE_EVAL
&GLOBAL
PROJECT H2-admm-rtp
RUN_TYPE RT_PROPAGATION
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

View file

@ -0,0 +1,85 @@
&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
BASIS_SET_FILE_NAME BASIS_ADMM
POTENTIAL_FILE_NAME POTENTIAL
&AUXILIARY_DENSITY_MATRIX_METHOD
METHOD BASIS_PROJECTION
ADMM_PURIFICATION_METHOD NONE
&END
&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
BASIS_SET AUX_FIT FIT3
POTENTIAL GTH-PBE-q1
&END KIND
&END SUBSYS
&END FORCE_EVAL
&GLOBAL
PROJECT H2-admm-rtp
RUN_TYPE RT_PROPAGATION
PRINT_LEVEL LOW
&END GLOBAL
&MOTION
&MD
ENSEMBLE NVE
STEPS 4
TIMESTEP [au_t] 0.25
TEMPERATURE 300.0
&END MD
&PRINT
&TRAJECTORY
&EACH
MD 1
&END
&END
&END
&END MOTION
&EXT_RESTART
RESTART_FILE_NAME H2-admm-rtp-1.restart
&END EXT_RESTART

View file

@ -8,4 +8,6 @@ CH3-BP-NONE_OT_OFF.inp 1 5e-14
CH3-BP-NO_CORR_GPW.inp 1 1e-13 -7.40339636702633
CH3-BP-NO_CORR_GAPW.inp 1 5e-13 -38.83705343348557
H2O-admm-emd.inp 2 1.0E-14 -0.167643118101E+02
H2-admm-rtp.inp 1 1e-12 -0.76379607928513
H2-admm-rtp_restart.inp 1 1e-12 -0.76379608071662
#EOF