mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-27 21:55:16 -04:00
Extrapolation methods for k-points: USE_GUESS, LINEAR_P, USE_PREV_P,
USE_PREV_RHO_R; 4 new regtests svn-origin-rev: 18594
This commit is contained in:
parent
0244f6be5f
commit
3f0e7fada9
10 changed files with 369 additions and 51 deletions
|
|
@ -3039,7 +3039,8 @@ CONTAINS
|
|||
CALL keyword_create( &
|
||||
keyword, name="EXTRAPOLATION", &
|
||||
variants=s2a("INTERPOLATION", "WF_INTERPOLATION"), &
|
||||
description="Extrapolation strategy for the wavefunction during e.g. MD."// &
|
||||
description="Extrapolation strategy for the wavefunction during e.g. MD. "// &
|
||||
"Not all options are available for all simulation methods. "// &
|
||||
"PS and ASPC are recommended, see also EXTRAPOLATION_ORDER.", &
|
||||
citations=(/Kolafa2004, VandeVondele2005a/), &
|
||||
usage="EXTRAPOLATION PS", &
|
||||
|
|
@ -3049,13 +3050,14 @@ CONTAINS
|
|||
"Use the method specified with SCF_GUESS, i.e. no extrapolation", &
|
||||
"Use the previous density matrix", &
|
||||
"Use the previous density in real space", &
|
||||
"Linear extrapolation of the wavefunction", &
|
||||
"Linear extrapolation of the wavefunction (not available for K-points)", &
|
||||
"Linear extrapolation of the density matrix", &
|
||||
"Linear extrapolation of the density matrix times the overlap matrix", &
|
||||
"Use the previous wavefunction", &
|
||||
"Higher order extrapolation of the density matrix times the overlap matrix", &
|
||||
"Linear extrapolation of the density matrix times the overlap matrix (not available for K-points)", &
|
||||
"Use the previous wavefunction (not available for K-points)", &
|
||||
"Higher order extrapolation of the density matrix times the overlap matrix (not available for K-points)", &
|
||||
"Frozen ...", &
|
||||
"Always stable predictor corrector, similar to PS, but going for MD stability instead of intial guess accuracy."), &
|
||||
"Always stable predictor corrector, similar to PS, but going for MD stability instead of intial guess accuracy. "// &
|
||||
"(not available for K-points)"), &
|
||||
enum_i_vals=(/ &
|
||||
wfi_use_guess_method_nr, &
|
||||
wfi_use_prev_p_method_nr, &
|
||||
|
|
|
|||
|
|
@ -484,8 +484,8 @@ CONTAINS
|
|||
routineP = moduleN//':'//routineN
|
||||
|
||||
INTEGER :: actual_extrapolation_method_nr, handle, &
|
||||
i, img, ispin, k, n, nmo, nvec, &
|
||||
output_unit, print_level
|
||||
i, img, io_unit, ispin, k, n, nmo, &
|
||||
nvec, print_level
|
||||
LOGICAL :: do_kpoints, my_orthogonal_wf, use_overlap
|
||||
REAL(KIND=dp) :: alpha, t0, t1, t2
|
||||
TYPE(cp_fm_pool_p_type), DIMENSION(:), POINTER :: ao_mo_fm_pools
|
||||
|
|
@ -506,8 +506,8 @@ CONTAINS
|
|||
CALL timeset(routineN, handle)
|
||||
logger => cp_get_default_logger()
|
||||
print_level = logger%iter_info%print_level
|
||||
output_unit = cp_print_key_unit_nr(logger, qs_env%input, "DFT%SCF%PRINT%PROGRAM_RUN_INFO", &
|
||||
extension=".scfLog")
|
||||
io_unit = cp_print_key_unit_nr(logger, qs_env%input, "DFT%SCF%PRINT%PROGRAM_RUN_INFO", &
|
||||
extension=".scfLog")
|
||||
|
||||
CPASSERT(ASSOCIATED(wf_history))
|
||||
CPASSERT(wf_history%ref_count > 0)
|
||||
|
|
@ -548,7 +548,7 @@ CONTAINS
|
|||
SELECT CASE (actual_extrapolation_method_nr)
|
||||
CASE (wfi_frozen_method_nr)
|
||||
CPASSERT(.NOT. do_kpoints)
|
||||
t0_state => wfi_get_snapshot(wf_history, index=1)
|
||||
t0_state => wfi_get_snapshot(wf_history, wf_index=1)
|
||||
CPASSERT(ASSOCIATED(t0_state%rho_frozen))
|
||||
|
||||
nvec = MIN(wf_history%memory_depth, wf_history%snapshot_count)
|
||||
|
|
@ -568,7 +568,7 @@ CONTAINS
|
|||
|
||||
my_orthogonal_wf = .FALSE.
|
||||
CASE (wfi_use_prev_rho_r_method_nr)
|
||||
t0_state => wfi_get_snapshot(wf_history, index=1)
|
||||
t0_state => wfi_get_snapshot(wf_history, wf_index=1)
|
||||
nvec = MIN(wf_history%memory_depth, wf_history%snapshot_count)
|
||||
CALL wfi_set_history_variables(qs_env=qs_env, nvec=nvec)
|
||||
IF (do_kpoints) THEN
|
||||
|
|
@ -576,9 +576,13 @@ CONTAINS
|
|||
CALL qs_rho_get(rho, rho_ao_kp=rho_ao_kp)
|
||||
DO ispin = 1, SIZE(t0_state%rho_ao_kp, 1)
|
||||
DO img = 1, SIZE(t0_state%rho_ao_kp, 2)
|
||||
CALL dbcsr_copy(rho_ao_kp(ispin, img)%matrix, &
|
||||
t0_state%rho_ao_kp(ispin, img)%matrix, &
|
||||
keep_sparsity=.TRUE.)
|
||||
IF (img > SIZE(rho_ao_kp, 2)) THEN
|
||||
CPWARN("Change in cell neighborlist: might affect quality of initial guess")
|
||||
ELSE
|
||||
CALL dbcsr_copy(rho_ao_kp(ispin, img)%matrix, &
|
||||
t0_state%rho_ao_kp(ispin, img)%matrix, &
|
||||
keep_sparsity=.TRUE.)
|
||||
END IF
|
||||
END DO
|
||||
END DO
|
||||
ELSE
|
||||
|
|
@ -613,8 +617,7 @@ CONTAINS
|
|||
CALL qs_ks_did_change(qs_env%ks_env, rho_changed=.TRUE.)
|
||||
|
||||
CASE (wfi_use_prev_p_method_nr)
|
||||
CPASSERT(.NOT. do_kpoints)
|
||||
t0_state => wfi_get_snapshot(wf_history, index=1)
|
||||
t0_state => wfi_get_snapshot(wf_history, wf_index=1)
|
||||
nvec = MIN(wf_history%memory_depth, wf_history%snapshot_count)
|
||||
CALL wfi_set_history_variables(qs_env=qs_env, nvec=nvec)
|
||||
IF (do_kpoints) THEN
|
||||
|
|
@ -622,9 +625,13 @@ CONTAINS
|
|||
CALL qs_rho_get(rho, rho_ao_kp=rho_ao_kp)
|
||||
DO ispin = 1, SIZE(t0_state%rho_ao_kp, 1)
|
||||
DO img = 1, SIZE(t0_state%rho_ao_kp, 2)
|
||||
CALL dbcsr_copy(rho_ao_kp(ispin, img)%matrix, &
|
||||
t0_state%rho_ao_kp(ispin, img)%matrix, &
|
||||
keep_sparsity=.TRUE.)
|
||||
IF (img > SIZE(rho_ao_kp, 2)) THEN
|
||||
CPWARN("Change in cell neighborlist: might affect quality of initial guess")
|
||||
ELSE
|
||||
CALL dbcsr_copy(rho_ao_kp(ispin, img)%matrix, &
|
||||
t0_state%rho_ao_kp(ispin, img)%matrix, &
|
||||
keep_sparsity=.TRUE.)
|
||||
END IF
|
||||
END DO
|
||||
END DO
|
||||
ELSE
|
||||
|
|
@ -651,8 +658,8 @@ CONTAINS
|
|||
CALL wfi_set_history_variables(qs_env=qs_env, nvec=nvec)
|
||||
CASE (wfi_linear_wf_method_nr)
|
||||
CPASSERT(.NOT. do_kpoints)
|
||||
t0_state => wfi_get_snapshot(wf_history, index=2)
|
||||
t1_state => wfi_get_snapshot(wf_history, index=1)
|
||||
t0_state => wfi_get_snapshot(wf_history, wf_index=2)
|
||||
t1_state => wfi_get_snapshot(wf_history, wf_index=1)
|
||||
CPASSERT(ASSOCIATED(t0_state))
|
||||
CPASSERT(ASSOCIATED(t1_state))
|
||||
CPASSERT(ASSOCIATED(t0_state%wf))
|
||||
|
|
@ -687,8 +694,8 @@ CONTAINS
|
|||
CALL qs_ks_did_change(qs_env%ks_env, &
|
||||
rho_changed=.TRUE.)
|
||||
CASE (wfi_linear_p_method_nr)
|
||||
t0_state => wfi_get_snapshot(wf_history, index=2)
|
||||
t1_state => wfi_get_snapshot(wf_history, index=1)
|
||||
t0_state => wfi_get_snapshot(wf_history, wf_index=2)
|
||||
t1_state => wfi_get_snapshot(wf_history, wf_index=1)
|
||||
CPASSERT(ASSOCIATED(t0_state))
|
||||
CPASSERT(ASSOCIATED(t1_state))
|
||||
IF (do_kpoints) THEN
|
||||
|
|
@ -708,10 +715,15 @@ CONTAINS
|
|||
CALL qs_rho_get(rho, rho_ao_kp=rho_ao_kp)
|
||||
DO ispin = 1, SIZE(rho_ao_kp, 1)
|
||||
DO img = 1, SIZE(rho_ao_kp, 2)
|
||||
CALL dbcsr_add(rho_ao_kp(ispin, img)%matrix, t1_state%rho_ao_kp(ispin, img)%matrix, &
|
||||
alpha_scalar=0.0_dp, beta_scalar=(t2-t0)/(t1-t0)) ! this copy should be unnecessary
|
||||
CALL dbcsr_add(rho_ao_kp(ispin, img)%matrix, t0_state%rho_ao_kp(ispin, img)%matrix, &
|
||||
alpha_scalar=1.0_dp, beta_scalar=(t1-t2)/(t1-t0))
|
||||
IF (img > SIZE(t0_state%rho_ao_kp, 2) .OR. &
|
||||
img > SIZE(t1_state%rho_ao_kp, 2)) THEN
|
||||
CPWARN("Change in cell neighborlist: might affect quality of initial guess")
|
||||
ELSE
|
||||
CALL dbcsr_add(rho_ao_kp(ispin, img)%matrix, t1_state%rho_ao_kp(ispin, img)%matrix, &
|
||||
alpha_scalar=0.0_dp, beta_scalar=(t2-t0)/(t1-t0)) ! this copy should be unnecessary
|
||||
CALL dbcsr_add(rho_ao_kp(ispin, img)%matrix, t0_state%rho_ao_kp(ispin, img)%matrix, &
|
||||
alpha_scalar=1.0_dp, beta_scalar=(t1-t2)/(t1-t0))
|
||||
END IF
|
||||
END DO
|
||||
END DO
|
||||
ELSE
|
||||
|
|
@ -725,13 +737,12 @@ CONTAINS
|
|||
END IF
|
||||
CALL qs_rho_update_rho(rho, qs_env=qs_env)
|
||||
CALL qs_ks_did_change(qs_env%ks_env, rho_changed=.TRUE.)
|
||||
|
||||
CASE (wfi_linear_ps_method_nr)
|
||||
! wf not calculated, extract with PSC renormalized?
|
||||
! use wf_linear?
|
||||
CASE (wfi_linear_ps_method_nr)
|
||||
CPASSERT(.NOT. do_kpoints)
|
||||
t0_state => wfi_get_snapshot(wf_history, index=2)
|
||||
t1_state => wfi_get_snapshot(wf_history, index=1)
|
||||
t0_state => wfi_get_snapshot(wf_history, wf_index=2)
|
||||
t1_state => wfi_get_snapshot(wf_history, wf_index=1)
|
||||
CPASSERT(ASSOCIATED(t0_state))
|
||||
CPASSERT(ASSOCIATED(t1_state))
|
||||
CPASSERT(ASSOCIATED(t0_state%wf))
|
||||
|
|
@ -817,13 +828,13 @@ CONTAINS
|
|||
CALL cp_fm_create(csc, matrix_struct_new)
|
||||
CALL cp_fm_struct_release(matrix_struct_new)
|
||||
! first the most recent
|
||||
t1_state => wfi_get_snapshot(wf_history, index=1)
|
||||
t1_state => wfi_get_snapshot(wf_history, wf_index=1)
|
||||
CALL cp_fm_to_fm(t1_state%wf(ispin)%matrix, mo_coeff)
|
||||
alpha = nvec
|
||||
CALL cp_fm_scale(alpha, mo_coeff)
|
||||
CALL qs_rho_get(rho, rho_ao=rho_ao)
|
||||
DO i = 2, nvec
|
||||
t0_state => wfi_get_snapshot(wf_history, index=i)
|
||||
t0_state => wfi_get_snapshot(wf_history, wf_index=i)
|
||||
IF (use_overlap) THEN
|
||||
CALL cp_dbcsr_sm_fm_multiply(t0_state%overlap, t1_state%wf(ispin)%matrix, fm_tmp, k)
|
||||
CALL cp_gemm('T', 'N', k, k, n, 1.0_dp, t0_state%wf(ispin)%matrix, fm_tmp, 0.0_dp, csc)
|
||||
|
|
@ -885,11 +896,11 @@ CONTAINS
|
|||
CALL cp_fm_struct_release(matrix_struct_new)
|
||||
! first the most recent
|
||||
t1_state => wfi_get_snapshot(wf_history, &
|
||||
index=1)
|
||||
wf_index=1)
|
||||
CALL cp_fm_to_fm(t1_state%wf(ispin)%matrix, mo_coeff)
|
||||
alpha = REAL(4*nvec-2, KIND=dp)/REAL(nvec+1, KIND=dp)
|
||||
IF ((output_unit > 0) .AND. (print_level > low_print_level)) THEN
|
||||
WRITE (UNIT=output_unit, FMT="(/,T2,A,/,/,T3,A,I0,/,/,T3,A2,I0,A4,F10.6)") &
|
||||
IF ((io_unit > 0) .AND. (print_level > low_print_level)) THEN
|
||||
WRITE (UNIT=io_unit, FMT="(/,T2,A,/,/,T3,A,I0,/,/,T3,A2,I0,A4,F10.6)") &
|
||||
"Parameters for the always stable predictor-corrector (ASPC) method:", &
|
||||
"ASPC order: ", MAX(nvec-2, 0), &
|
||||
"B(", 1, ") = ", alpha
|
||||
|
|
@ -897,7 +908,7 @@ CONTAINS
|
|||
CALL cp_fm_scale(alpha, mo_coeff)
|
||||
|
||||
DO i = 2, nvec
|
||||
t0_state => wfi_get_snapshot(wf_history, index=i)
|
||||
t0_state => wfi_get_snapshot(wf_history, wf_index=i)
|
||||
IF (use_overlap) THEN
|
||||
CALL cp_dbcsr_sm_fm_multiply(t0_state%overlap, t1_state%wf(ispin)%matrix, fm_tmp, k)
|
||||
CALL cp_gemm('T', 'N', k, k, n, 1.0_dp, t0_state%wf(ispin)%matrix, fm_tmp, 0.0_dp, csc)
|
||||
|
|
@ -908,8 +919,8 @@ CONTAINS
|
|||
CALL cp_gemm('N', 'N', n, k, k, 1.0_dp, t0_state%wf(ispin)%matrix, csc, 0.0_dp, fm_tmp)
|
||||
alpha = (-1.0_dp)**(i+1)*REAL(i, KIND=dp)* &
|
||||
binomial(2*nvec, nvec-i)/binomial(2*nvec-2, nvec-1)
|
||||
IF ((output_unit > 0) .AND. (print_level > low_print_level)) THEN
|
||||
WRITE (UNIT=output_unit, FMT="(T3,A2,I0,A4,F10.6)") &
|
||||
IF ((io_unit > 0) .AND. (print_level > low_print_level)) THEN
|
||||
WRITE (UNIT=io_unit, FMT="(T3,A2,I0,A4,F10.6)") &
|
||||
"B(", i, ") = ", alpha
|
||||
END IF
|
||||
CALL cp_fm_scale_and_add(1.0_dp, mo_coeff, alpha, fm_tmp)
|
||||
|
|
@ -931,7 +942,7 @@ CONTAINS
|
|||
TRIM(ADJUSTL(cp_to_string(wf_history%interpolation_method_nr))))
|
||||
END SELECT
|
||||
IF (PRESENT(orthogonal_wf)) orthogonal_wf = my_orthogonal_wf
|
||||
CALL cp_print_key_finished_output(output_unit, logger, qs_env%input, &
|
||||
CALL cp_print_key_finished_output(io_unit, logger, qs_env%input, &
|
||||
"DFT%SCF%PRINT%PROGRAM_RUN_INFO")
|
||||
CALL timestop(handle)
|
||||
END SUBROUTINE wfi_extrapolate
|
||||
|
|
@ -1092,7 +1103,7 @@ CONTAINS
|
|||
CHARACTER(len=*), PARAMETER :: routineN = 'wfi_purge_history', &
|
||||
routineP = moduleN//':'//routineN
|
||||
|
||||
INTEGER :: handle, output_unit, print_level
|
||||
INTEGER :: handle, io_unit, print_level
|
||||
TYPE(cp_logger_type), POINTER :: logger
|
||||
TYPE(dft_control_type), POINTER :: dft_control
|
||||
TYPE(qs_wf_history_type), POINTER :: wf_history
|
||||
|
|
@ -1102,8 +1113,8 @@ CONTAINS
|
|||
CALL timeset(routineN, handle)
|
||||
logger => cp_get_default_logger()
|
||||
print_level = logger%iter_info%print_level
|
||||
output_unit = cp_print_key_unit_nr(logger, qs_env%input, "DFT%SCF%PRINT%PROGRAM_RUN_INFO", &
|
||||
extension=".scfLog")
|
||||
io_unit = cp_print_key_unit_nr(logger, qs_env%input, "DFT%SCF%PRINT%PROGRAM_RUN_INFO", &
|
||||
extension=".scfLog")
|
||||
|
||||
CPASSERT(ASSOCIATED(qs_env))
|
||||
CPASSERT(qs_env%ref_count > 0)
|
||||
|
|
@ -1120,8 +1131,8 @@ CONTAINS
|
|||
wfi_linear_ps_method_nr, wfi_ps_method_nr, &
|
||||
wfi_aspc_nr)
|
||||
IF (qs_env%wf_history%snapshot_count .GE. 2) THEN
|
||||
IF (debug_this_module .AND. output_unit > 0) &
|
||||
WRITE (output_unit, FMT="(T2,A)") "QS| Purging WFN history"
|
||||
IF (debug_this_module .AND. io_unit > 0) &
|
||||
WRITE (io_unit, FMT="(T2,A)") "QS| Purging WFN history"
|
||||
CALL wfi_create(wf_history, interpolation_method_nr= &
|
||||
dft_control%qs_control%wf_interpolation_method_nr, &
|
||||
extrapolation_order=dft_control%qs_control%wf_extrapolation_order, &
|
||||
|
|
|
|||
|
|
@ -211,15 +211,15 @@ CONTAINS
|
|||
! **************************************************************************************************
|
||||
!> \brief returns a snapshot, the first being the latest snapshot
|
||||
!> \param wf_history the plage where to get the snapshot
|
||||
!> \param index the index of the snapshot you want
|
||||
!> \param wf_index the index of the snapshot you want
|
||||
!> \return ...
|
||||
!> \par History
|
||||
!> 12.2002 created [fawzi]
|
||||
!> \author fawzi
|
||||
! **************************************************************************************************
|
||||
FUNCTION wfi_get_snapshot(wf_history, index) RESULT(res)
|
||||
FUNCTION wfi_get_snapshot(wf_history, wf_index) RESULT(res)
|
||||
TYPE(qs_wf_history_type), POINTER :: wf_history
|
||||
INTEGER, INTENT(in) :: index
|
||||
INTEGER, INTENT(in) :: wf_index
|
||||
TYPE(qs_wf_snapshot_type), POINTER :: res
|
||||
|
||||
CHARACTER(len=*), PARAMETER :: routineN = 'wfi_get_snapshot', &
|
||||
|
|
@ -229,11 +229,11 @@ CONTAINS
|
|||
|
||||
CPASSERT(ASSOCIATED(wf_history))
|
||||
CPASSERT(ASSOCIATED(wf_history%past_states))
|
||||
IF (index > wf_history%memory_depth .OR. index > wf_history%snapshot_count) THEN
|
||||
IF (wf_index > wf_history%memory_depth .OR. wf_index > wf_history%snapshot_count) THEN
|
||||
CPABORT("")
|
||||
END IF
|
||||
res => wf_history%past_states( &
|
||||
MODULO(wf_history%snapshot_count+1-index, &
|
||||
MODULO(wf_history%snapshot_count+1-wf_index, &
|
||||
wf_history%memory_depth)+1)%snapshot
|
||||
END FUNCTION wfi_get_snapshot
|
||||
|
||||
|
|
|
|||
10
tests/QS/regtest-kp-3/TEST_FILES
Normal file
10
tests/QS/regtest-kp-3/TEST_FILES
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# runs are executed in the same order as in this file
|
||||
# the second field tells which test should be run in order to compare with the last available output
|
||||
# e.g. 0 means do not compare anything, running is enough
|
||||
# 1 compares the last total energy in the file
|
||||
# for details see cp2k/tools/do_regtest
|
||||
cc1.inp 1 1.0E-12 -45.38964266770495
|
||||
cc2.inp 1 1.0E-12 -45.38978381221627
|
||||
cc3.inp 1 1.0E-12 -45.38973581135713
|
||||
cc4.inp 1 1.0E-12 -45.38975726647867
|
||||
#EOF
|
||||
8
tests/QS/regtest-kp-3/TEST_FILES_RESET
Normal file
8
tests/QS/regtest-kp-3/TEST_FILES_RESET
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# disable FULL_GRID
|
||||
Ar_1.inp
|
||||
Al_1_4.inp
|
||||
H_sym.inp
|
||||
#
|
||||
Al_1_4.inp
|
||||
#
|
||||
Al_1_4.inp
|
||||
71
tests/QS/regtest-kp-3/cc1.inp
Normal file
71
tests/QS/regtest-kp-3/cc1.inp
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
&FORCE_EVAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
POTENTIAL_FILE_NAME POTENTIAL
|
||||
&MGRID
|
||||
CUTOFF 120
|
||||
REL_CUTOFF 30
|
||||
&END MGRID
|
||||
&QS
|
||||
METHOD GPW
|
||||
EPS_DEFAULT 1.0E-14
|
||||
EXTRAPOLATION USE_GUESS
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-4
|
||||
SCF_GUESS ATOMIC
|
||||
MAX_SCF 20
|
||||
&MIXING
|
||||
METHOD BROYDEN_MIXING
|
||||
ALPHA 0.50
|
||||
&END
|
||||
CHOLESKY OFF
|
||||
EPS_EIGVAL 1.e-5
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL PADE
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&KPOINTS
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
EPS_GEO 1.e-8
|
||||
FULL_GRID ON
|
||||
VERBOSE F
|
||||
PARALLEL_GROUP_SIZE 0
|
||||
&END KPOINTS
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 3.56683 3.56683 3.56683
|
||||
&END CELL
|
||||
&COORD
|
||||
SCALED
|
||||
C 0.100000 0.000000 0.000000
|
||||
C 0.500000 0.500000 0.000000
|
||||
C 0.500000 0.000000 0.500000
|
||||
C 0.000000 0.500000 0.500000
|
||||
C 0.250000 0.250000 0.250000
|
||||
C 0.250000 0.750000 0.750000
|
||||
C 0.750000 0.250000 0.750000
|
||||
C 0.750000 0.750000 0.250000
|
||||
&END COORD
|
||||
&KIND C
|
||||
BASIS_SET SZV-GTH
|
||||
POTENTIAL GTH-PADE-q4
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
&GLOBAL
|
||||
PROJECT C
|
||||
RUN_TYPE GEO_OPT
|
||||
PRINT_LEVEL LOW
|
||||
&END GLOBAL
|
||||
&MOTION
|
||||
&GEO_OPT
|
||||
OPTIMIZER LBFGS
|
||||
MAX_ITER 2
|
||||
&END
|
||||
&END
|
||||
|
||||
71
tests/QS/regtest-kp-3/cc2.inp
Normal file
71
tests/QS/regtest-kp-3/cc2.inp
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
&FORCE_EVAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
POTENTIAL_FILE_NAME POTENTIAL
|
||||
&MGRID
|
||||
CUTOFF 120
|
||||
REL_CUTOFF 30
|
||||
&END MGRID
|
||||
&QS
|
||||
METHOD GPW
|
||||
EPS_DEFAULT 1.0E-14
|
||||
EXTRAPOLATION LINEAR_P
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-4
|
||||
SCF_GUESS ATOMIC
|
||||
MAX_SCF 20
|
||||
&MIXING
|
||||
METHOD BROYDEN_MIXING
|
||||
ALPHA 0.50
|
||||
&END
|
||||
CHOLESKY OFF
|
||||
EPS_EIGVAL 1.e-5
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL PADE
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&KPOINTS
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
EPS_GEO 1.e-8
|
||||
FULL_GRID ON
|
||||
VERBOSE F
|
||||
PARALLEL_GROUP_SIZE 0
|
||||
&END KPOINTS
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 3.56683 3.56683 3.56683
|
||||
&END CELL
|
||||
&COORD
|
||||
SCALED
|
||||
C 0.100000 0.000000 0.000000
|
||||
C 0.500000 0.500000 0.000000
|
||||
C 0.500000 0.000000 0.500000
|
||||
C 0.000000 0.500000 0.500000
|
||||
C 0.250000 0.250000 0.250000
|
||||
C 0.250000 0.750000 0.750000
|
||||
C 0.750000 0.250000 0.750000
|
||||
C 0.750000 0.750000 0.250000
|
||||
&END COORD
|
||||
&KIND C
|
||||
BASIS_SET SZV-GTH
|
||||
POTENTIAL GTH-PADE-q4
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
&GLOBAL
|
||||
PROJECT C
|
||||
RUN_TYPE GEO_OPT
|
||||
PRINT_LEVEL LOW
|
||||
&END GLOBAL
|
||||
&MOTION
|
||||
&GEO_OPT
|
||||
OPTIMIZER LBFGS
|
||||
MAX_ITER 2
|
||||
&END
|
||||
&END
|
||||
|
||||
71
tests/QS/regtest-kp-3/cc3.inp
Normal file
71
tests/QS/regtest-kp-3/cc3.inp
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
&FORCE_EVAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
POTENTIAL_FILE_NAME POTENTIAL
|
||||
&MGRID
|
||||
CUTOFF 120
|
||||
REL_CUTOFF 30
|
||||
&END MGRID
|
||||
&QS
|
||||
METHOD GPW
|
||||
EPS_DEFAULT 1.0E-14
|
||||
EXTRAPOLATION USE_PREV_P
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-4
|
||||
SCF_GUESS ATOMIC
|
||||
MAX_SCF 20
|
||||
&MIXING
|
||||
METHOD BROYDEN_MIXING
|
||||
ALPHA 0.50
|
||||
&END
|
||||
CHOLESKY OFF
|
||||
EPS_EIGVAL 1.e-5
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL PADE
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&KPOINTS
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
EPS_GEO 1.e-8
|
||||
FULL_GRID ON
|
||||
VERBOSE F
|
||||
PARALLEL_GROUP_SIZE 0
|
||||
&END KPOINTS
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 3.56683 3.56683 3.56683
|
||||
&END CELL
|
||||
&COORD
|
||||
SCALED
|
||||
C 0.100000 0.000000 0.000000
|
||||
C 0.500000 0.500000 0.000000
|
||||
C 0.500000 0.000000 0.500000
|
||||
C 0.000000 0.500000 0.500000
|
||||
C 0.250000 0.250000 0.250000
|
||||
C 0.250000 0.750000 0.750000
|
||||
C 0.750000 0.250000 0.750000
|
||||
C 0.750000 0.750000 0.250000
|
||||
&END COORD
|
||||
&KIND C
|
||||
BASIS_SET SZV-GTH
|
||||
POTENTIAL GTH-PADE-q4
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
&GLOBAL
|
||||
PROJECT C
|
||||
RUN_TYPE GEO_OPT
|
||||
PRINT_LEVEL LOW
|
||||
&END GLOBAL
|
||||
&MOTION
|
||||
&GEO_OPT
|
||||
OPTIMIZER LBFGS
|
||||
MAX_ITER 2
|
||||
&END
|
||||
&END
|
||||
|
||||
71
tests/QS/regtest-kp-3/cc4.inp
Normal file
71
tests/QS/regtest-kp-3/cc4.inp
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
&FORCE_EVAL
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME GTH_BASIS_SETS
|
||||
POTENTIAL_FILE_NAME POTENTIAL
|
||||
&MGRID
|
||||
CUTOFF 120
|
||||
REL_CUTOFF 30
|
||||
&END MGRID
|
||||
&QS
|
||||
METHOD GPW
|
||||
EPS_DEFAULT 1.0E-14
|
||||
EXTRAPOLATION USE_PREV_RHO_R
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-4
|
||||
SCF_GUESS ATOMIC
|
||||
MAX_SCF 20
|
||||
&MIXING
|
||||
METHOD BROYDEN_MIXING
|
||||
ALPHA 0.50
|
||||
&END
|
||||
CHOLESKY OFF
|
||||
EPS_EIGVAL 1.e-5
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL PADE
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&KPOINTS
|
||||
SCHEME MONKHORST-PACK 2 2 2
|
||||
SYMMETRY ON
|
||||
WAVEFUNCTIONS COMPLEX
|
||||
EPS_GEO 1.e-8
|
||||
FULL_GRID ON
|
||||
VERBOSE F
|
||||
PARALLEL_GROUP_SIZE 0
|
||||
&END KPOINTS
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 3.56683 3.56683 3.56683
|
||||
&END CELL
|
||||
&COORD
|
||||
SCALED
|
||||
C 0.100000 0.000000 0.000000
|
||||
C 0.500000 0.500000 0.000000
|
||||
C 0.500000 0.000000 0.500000
|
||||
C 0.000000 0.500000 0.500000
|
||||
C 0.250000 0.250000 0.250000
|
||||
C 0.250000 0.750000 0.750000
|
||||
C 0.750000 0.250000 0.750000
|
||||
C 0.750000 0.750000 0.250000
|
||||
&END COORD
|
||||
&KIND C
|
||||
BASIS_SET SZV-GTH
|
||||
POTENTIAL GTH-PADE-q4
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
&GLOBAL
|
||||
PROJECT C
|
||||
RUN_TYPE GEO_OPT
|
||||
PRINT_LEVEL LOW
|
||||
&END GLOBAL
|
||||
&MOTION
|
||||
&GEO_OPT
|
||||
OPTIMIZER LBFGS
|
||||
MAX_ITER 2
|
||||
&END
|
||||
&END
|
||||
|
||||
|
|
@ -3,6 +3,7 @@
|
|||
# Directories have been reordered according the execution time needed for a gfortran pdbg run using 2 MPI tasks
|
||||
# in case a new directory is added just add it at the top of the list..
|
||||
# the order will be regularly checked and modified...
|
||||
QS/regtest-almo-strong
|
||||
QS/regtest-elpa-2 elpa
|
||||
QS/regtest-cdft-5
|
||||
Pimd
|
||||
|
|
@ -28,6 +29,7 @@ QS/regtest-rel
|
|||
QS/regtest-admm-qps libint
|
||||
QS/regtest-sccs-1
|
||||
QS/regtest-kp-1
|
||||
QS/regtest-kp-3
|
||||
QS/regtest-slab
|
||||
ATOM/regtest-pseudo
|
||||
DFTB/regtest-scc
|
||||
|
|
@ -230,3 +232,4 @@ QS/regtest-fftw fftw3
|
|||
Fist/regtest-quip quip
|
||||
ATOM/regtest-libxc libxc
|
||||
Fist/regtest-plumed2 plumed2
|
||||
QS/regtest-sto
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue