mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-29 06:35:28 -04:00
RTP| fixed ADMM restart
This commit is contained in:
parent
3afc3800dd
commit
84b2f9aa0f
4 changed files with 175 additions and 32 deletions
|
|
@ -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)
|
||||
|
|
|
|||
82
tests/QS/regtest-admm-1/H2-admm-rtp.inp
Normal file
82
tests/QS/regtest-admm-1/H2-admm-rtp.inp
Normal 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
|
||||
85
tests/QS/regtest-admm-1/H2-admm-rtp_restart.inp
Normal file
85
tests/QS/regtest-admm-1/H2-admm-rtp_restart.inp
Normal 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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue