mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-27 21:55:16 -04:00
Options for DFTB vdW: UFF|D2|D3|D3(BJ) (#2431)
* Add D2/D3/D3BJ options to DFTB/xTB * Fix DFTB/D2 + regtest * Remove extra options for vdW correction for xTB
This commit is contained in:
parent
71e3cc1810
commit
2cd2f20ff9
14 changed files with 361 additions and 20 deletions
|
|
@ -81,8 +81,11 @@ MODULE cp_control_types
|
|||
REAL(KIND=dp) :: hb_sr_para
|
||||
REAL(KIND=dp) :: eps_disp
|
||||
REAL(KIND=dp) :: epscn
|
||||
REAL(KIND=dp) :: exp_pre
|
||||
REAL(KIND=dp) :: scaling
|
||||
REAL(KIND=dp) :: rcdisp
|
||||
REAL(KIND=dp), DIMENSION(3) :: sd3
|
||||
REAL(KIND=dp), DIMENSION(4) :: sd3bj
|
||||
LOGICAL :: do_ewald
|
||||
CHARACTER(LEN=default_path_length) :: sk_file_path
|
||||
CHARACTER(LEN=default_path_length) :: sk_file_list
|
||||
|
|
|
|||
|
|
@ -1084,10 +1084,19 @@ CONTAINS
|
|||
r_val=qs_control%dftb_control%rcdisp)
|
||||
CALL section_vals_val_get(dftb_parameter, "COORDINATION_CUTOFF", &
|
||||
r_val=qs_control%dftb_control%epscn)
|
||||
CALL section_vals_val_get(dftb_parameter, "D2_EXP_PRE", &
|
||||
r_val=qs_control%dftb_control%exp_pre)
|
||||
CALL section_vals_val_get(dftb_parameter, "D2_SCALING", &
|
||||
r_val=qs_control%dftb_control%scaling)
|
||||
CALL section_vals_val_get(dftb_parameter, "D3_SCALING", r_vals=scal)
|
||||
qs_control%dftb_control%sd3(1) = scal(1)
|
||||
qs_control%dftb_control%sd3(2) = scal(2)
|
||||
qs_control%dftb_control%sd3(3) = scal(3)
|
||||
CALL section_vals_val_get(dftb_parameter, "D3BJ_SCALING", r_vals=scal)
|
||||
qs_control%dftb_control%sd3bj(1) = scal(1)
|
||||
qs_control%dftb_control%sd3bj(2) = scal(2)
|
||||
qs_control%dftb_control%sd3bj(3) = scal(3)
|
||||
qs_control%dftb_control%sd3bj(4) = scal(4)
|
||||
CALL section_vals_val_get(dftb_parameter, "DISPERSION_PARAMETER_FILE", &
|
||||
c_val=qs_control%dftb_control%dispersion_parameter_file)
|
||||
|
||||
|
|
|
|||
|
|
@ -1139,8 +1139,11 @@ MODULE input_constants
|
|||
do_cosma = 2
|
||||
|
||||
! Dispersion DFTB
|
||||
INTEGER, PARAMETER, PUBLIC :: dispersion_uff = 100, &
|
||||
dispersion_d3 = 200
|
||||
INTEGER, PARAMETER, PUBLIC :: dispersion_none = 0, &
|
||||
dispersion_uff = 100, &
|
||||
dispersion_d3 = 200, &
|
||||
dispersion_d3bj = 210, &
|
||||
dispersion_d2 = 300
|
||||
|
||||
! Transport section
|
||||
INTEGER, PARAMETER, PUBLIC :: transport_localscf = 1, &
|
||||
|
|
|
|||
|
|
@ -18,7 +18,9 @@ MODULE input_cp2k_tb
|
|||
Porezag1995,&
|
||||
Seifert1996,&
|
||||
Zhechkov2005
|
||||
USE input_constants, ONLY: dispersion_d3,&
|
||||
USE input_constants, ONLY: dispersion_d2,&
|
||||
dispersion_d3,&
|
||||
dispersion_d3bj,&
|
||||
dispersion_uff,&
|
||||
slater
|
||||
USE input_cp2k_mm, ONLY: create_GENPOT_section
|
||||
|
|
@ -254,11 +256,13 @@ CONTAINS
|
|||
CALL keyword_create(keyword, __LOCATION__, name="DISPERSION_TYPE", &
|
||||
description="Use dispersion correction of the specified type."// &
|
||||
" Dispersion correction has to be switched on in the DFTB section.", &
|
||||
usage="DISPERSION_TYPE (UFF|D3)", &
|
||||
enum_c_vals=s2a("UFF", "D3"), &
|
||||
enum_i_vals=(/dispersion_uff, dispersion_d3/), &
|
||||
usage="DISPERSION_TYPE (UFF|D3|D3(BJ)|D2)", &
|
||||
enum_c_vals=s2a("UFF", "D3", "D3(BJ)", "D2"), &
|
||||
enum_i_vals=(/dispersion_uff, dispersion_d3, dispersion_d3bj, dispersion_d2/), &
|
||||
enum_desc=s2a("Uses the UFF force field for a pair potential dispersion correction.", &
|
||||
"Uses the Grimme D3 method (simplified) for a pair potential dispersion correction."), &
|
||||
"Uses the Grimme D3 method (simplified) for a pair potential dispersion correction.", &
|
||||
"Uses the Grimme D3 method (simplified) with Becke-Johnson attenuation.", &
|
||||
"Uses the Grimme D2 method for pair potential dispersion correction."), &
|
||||
default_i_val=dispersion_uff)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
|
@ -298,6 +302,25 @@ CONTAINS
|
|||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="D3BJ_SCALING", &
|
||||
description="Scaling parameters (s6,a1,s8,a2) for the D3(BJ) dispersion method,", &
|
||||
usage="D3BJ_SCALING 1.0 1.0 1.0 1.0", n_var=4, &
|
||||
default_r_vals=(/0.0_dp, 0.0_dp, 0.0_dp, 0.0_dp/))
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="D2_SCALING", &
|
||||
description="Scaling parameter for the D2 dispersion method,", &
|
||||
usage="D2_SCALING 1.0", default_r_val=1.0_dp)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="D2_EXP_PRE", &
|
||||
description="Exp prefactor for damping for the D2 dispersion method,", &
|
||||
usage="EXP_PRE 2.0", default_r_val=2.0_dp)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="HB_SR_PARAM", &
|
||||
description="Uses a modified version for the GAMMA within the SCC-DFTB scheme, "// &
|
||||
"specifically tuned for hydrogen bonds. Specify the exponent used in the exponential.", &
|
||||
|
|
|
|||
|
|
@ -17,7 +17,9 @@ MODULE qs_dftb_dispersion
|
|||
USE cp_control_types, ONLY: dft_control_type,&
|
||||
dftb_control_type
|
||||
USE cp_para_types, ONLY: cp_para_env_type
|
||||
USE input_constants, ONLY: dispersion_d3,&
|
||||
USE input_constants, ONLY: dispersion_d2,&
|
||||
dispersion_d3,&
|
||||
dispersion_d3bj,&
|
||||
dispersion_uff
|
||||
USE kinds, ONLY: dp
|
||||
USE message_passing, ONLY: mp_sum
|
||||
|
|
@ -81,7 +83,7 @@ CONTAINS
|
|||
SELECT CASE (dftb_control%dispersion_type)
|
||||
CASE (dispersion_uff)
|
||||
CALL calculate_dispersion_uff(qs_env, para_env, calculate_forces)
|
||||
CASE (dispersion_d3)
|
||||
CASE (dispersion_d3, dispersion_d3bj, dispersion_d2)
|
||||
CALL get_qs_env(qs_env=qs_env, dispersion_env=dispersion_env)
|
||||
CALL calculate_dispersion_pairpot(qs_env, dispersion_env, &
|
||||
energy%dispersion, calculate_forces)
|
||||
|
|
|
|||
|
|
@ -90,7 +90,8 @@ MODULE qs_dispersion_pairpot
|
|||
CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'qs_dispersion_pairpot'
|
||||
|
||||
PUBLIC :: qs_dispersion_pairpot_init, calculate_dispersion_pairpot, &
|
||||
qs_scaling_init, qs_scaling_dftd3, qs_scaling_dftd3bj
|
||||
qs_scaling_init, qs_scaling_dftd3, qs_scaling_dftd3bj, &
|
||||
qs_dispersion_setcn
|
||||
|
||||
TYPE dcnum_type
|
||||
INTEGER :: neighbors
|
||||
|
|
@ -350,6 +351,62 @@ CONTAINS
|
|||
END SUBROUTINE qs_dispersion_pairpot_init
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief ...
|
||||
!> \param atomic_kind_set ...
|
||||
!> \param qs_kind_set ...
|
||||
!> \param dispersion_env ...
|
||||
!> \param para_env ...
|
||||
! **************************************************************************************************
|
||||
SUBROUTINE qs_dispersion_setcn(atomic_kind_set, qs_kind_set, dispersion_env, para_env)
|
||||
TYPE(atomic_kind_type), DIMENSION(:), POINTER :: atomic_kind_set
|
||||
TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set
|
||||
TYPE(qs_dispersion_type), POINTER :: dispersion_env
|
||||
TYPE(cp_para_env_type), POINTER :: para_env
|
||||
|
||||
CHARACTER(len=*), PARAMETER :: routineN = 'qs_dispersion_setcn'
|
||||
|
||||
CHARACTER(LEN=default_string_length) :: filename
|
||||
INTEGER :: i, ikind, max_elem, maxc, nkind
|
||||
REAL(KIND=dp) :: dum
|
||||
TYPE(qs_atom_dispersion_type), POINTER :: disp
|
||||
|
||||
nkind = SIZE(atomic_kind_set)
|
||||
IF (dispersion_env%type /= xc_vdw_fun_pairpot) THEN
|
||||
DO ikind = 1, nkind
|
||||
ALLOCATE (disp)
|
||||
disp%type = dftd3_pp
|
||||
disp%defined = .TRUE.
|
||||
CALL set_qs_kind(qs_kind_set(ikind), dispersion=disp)
|
||||
END DO
|
||||
END IF
|
||||
|
||||
max_elem = 94
|
||||
maxc = 5
|
||||
dispersion_env%max_elem = max_elem
|
||||
dispersion_env%maxc = maxc
|
||||
ALLOCATE (dispersion_env%maxci(max_elem))
|
||||
ALLOCATE (dispersion_env%c6ab(max_elem, max_elem, maxc, maxc, 3))
|
||||
ALLOCATE (dispersion_env%r0ab(max_elem, max_elem))
|
||||
ALLOCATE (dispersion_env%rcov(max_elem))
|
||||
ALLOCATE (dispersion_env%r2r4(max_elem))
|
||||
ALLOCATE (dispersion_env%cn(max_elem))
|
||||
! get filename of parameter file
|
||||
filename = dispersion_env%parameter_file_name
|
||||
CALL dftd3_c6_param(dispersion_env%c6ab, dispersion_env%maxci, filename, para_env)
|
||||
CALL setr0ab(dispersion_env%r0ab, dispersion_env%rcov, dispersion_env%r2r4)
|
||||
! the default coordination numbers
|
||||
CALL setcn(dispersion_env%cn)
|
||||
DO i = 1, max_elem
|
||||
dum = 0.5_dp*dispersion_env%r2r4(i)*REAL(i, dp)**0.5_dp
|
||||
dispersion_env%r2r4(i) = SQRT(dum)
|
||||
END DO
|
||||
dispersion_env%k1 = 16.0_dp
|
||||
dispersion_env%k2 = 4._dp/3._dp
|
||||
dispersion_env%k3 = -4._dp
|
||||
dispersion_env%rcov = dispersion_env%k2*dispersion_env%rcov*bohr
|
||||
dispersion_env%alp = 14._dp
|
||||
|
||||
END SUBROUTINE qs_dispersion_setcn
|
||||
|
||||
! **************************************************************************************************
|
||||
!> \brief ...
|
||||
|
|
|
|||
|
|
@ -95,14 +95,14 @@ MODULE qs_environment
|
|||
USE hfx_types, ONLY: compare_hfx_sections,&
|
||||
hfx_create
|
||||
USE input_constants, ONLY: &
|
||||
dispersion_d3, do_et_ddapc, do_method_am1, do_method_dftb, do_method_gapw, &
|
||||
do_method_gapw_xc, do_method_gpw, do_method_lrigpw, do_method_mndo, do_method_mndod, &
|
||||
do_method_ofgpw, do_method_pdg, do_method_pm3, do_method_pm6, do_method_pm6fm, &
|
||||
do_method_pnnl, do_method_rigpw, do_method_rm1, do_method_xtb, do_qmmm_gauss, &
|
||||
do_qmmm_swave, general_roks, kg_tnadd_embed_ri, rel_none, rel_trans_atom, &
|
||||
vdw_pairpot_dftd3, vdw_pairpot_dftd3bj, wfi_aspc_nr, wfi_linear_ps_method_nr, &
|
||||
wfi_linear_wf_method_nr, wfi_ps_method_nr, wfi_use_guess_method_nr, xc_vdw_fun_none, &
|
||||
xc_vdw_fun_nonloc, xc_vdw_fun_pairpot
|
||||
dispersion_d2, dispersion_d3, dispersion_d3bj, do_et_ddapc, do_method_am1, do_method_dftb, &
|
||||
do_method_gapw, do_method_gapw_xc, do_method_gpw, do_method_lrigpw, do_method_mndo, &
|
||||
do_method_mndod, do_method_ofgpw, do_method_pdg, do_method_pm3, do_method_pm6, &
|
||||
do_method_pm6fm, do_method_pnnl, do_method_rigpw, do_method_rm1, do_method_xtb, &
|
||||
do_qmmm_gauss, do_qmmm_swave, general_roks, kg_tnadd_embed_ri, rel_none, rel_trans_atom, &
|
||||
vdw_pairpot_dftd2, vdw_pairpot_dftd3, vdw_pairpot_dftd3bj, wfi_aspc_nr, &
|
||||
wfi_linear_ps_method_nr, wfi_linear_wf_method_nr, wfi_ps_method_nr, &
|
||||
wfi_use_guess_method_nr, xc_vdw_fun_none, xc_vdw_fun_nonloc, xc_vdw_fun_pairpot
|
||||
USE input_section_types, ONLY: section_vals_get,&
|
||||
section_vals_get_subs_vals,&
|
||||
section_vals_type,&
|
||||
|
|
@ -1242,6 +1242,30 @@ CONTAINS
|
|||
dispersion_env%nd3_exclude_pair = 0
|
||||
dispersion_env%parameter_file_name = dftb_control%dispersion_parameter_file
|
||||
CALL qs_dispersion_pairpot_init(atomic_kind_set, qs_kind_set, dispersion_env, para_env=para_env)
|
||||
ELSEIF (dftb_control%dispersion .AND. dftb_control%dispersion_type == dispersion_d3bj) THEN
|
||||
dispersion_env%type = xc_vdw_fun_pairpot
|
||||
dispersion_env%pp_type = vdw_pairpot_dftd3bj
|
||||
dispersion_env%eps_cn = dftb_control%epscn
|
||||
dispersion_env%s6 = dftb_control%sd3bj(1)
|
||||
dispersion_env%a1 = dftb_control%sd3bj(2)
|
||||
dispersion_env%s8 = dftb_control%sd3bj(3)
|
||||
dispersion_env%a2 = dftb_control%sd3bj(4)
|
||||
dispersion_env%domol = .FALSE.
|
||||
dispersion_env%kgc8 = 0._dp
|
||||
dispersion_env%rc_disp = dftb_control%rcdisp
|
||||
dispersion_env%exp_pre = 0._dp
|
||||
dispersion_env%scaling = 0._dp
|
||||
dispersion_env%nd3_exclude_pair = 0
|
||||
dispersion_env%parameter_file_name = dftb_control%dispersion_parameter_file
|
||||
CALL qs_dispersion_pairpot_init(atomic_kind_set, qs_kind_set, dispersion_env, para_env=para_env)
|
||||
ELSEIF (dftb_control%dispersion .AND. dftb_control%dispersion_type == dispersion_d2) THEN
|
||||
dispersion_env%type = xc_vdw_fun_pairpot
|
||||
dispersion_env%pp_type = vdw_pairpot_dftd2
|
||||
dispersion_env%exp_pre = dftb_control%exp_pre
|
||||
dispersion_env%scaling = dftb_control%scaling
|
||||
dispersion_env%parameter_file_name = dftb_control%dispersion_parameter_file
|
||||
dispersion_env%rc_disp = dftb_control%rcdisp
|
||||
CALL qs_dispersion_pairpot_init(atomic_kind_set, qs_kind_set, dispersion_env, para_env=para_env)
|
||||
ELSE
|
||||
dispersion_env%type = xc_vdw_fun_none
|
||||
END IF
|
||||
|
|
|
|||
|
|
@ -833,7 +833,7 @@ CONTAINS
|
|||
CALL get_qs_env(qs_env=qs_env, dispersion_env=dispersion_env)
|
||||
sab_vdw => dispersion_env%sab_vdw
|
||||
sab_cn => dispersion_env%sab_cn
|
||||
IF (dispersion_env%type == xc_vdw_fun_pairpot) THEN
|
||||
IF (dispersion_env%type == xc_vdw_fun_pairpot .OR. xtb) THEN
|
||||
c_radius(:) = dispersion_env%rc_disp
|
||||
default_present = .TRUE. !include all atoms in vdW (even without basis)
|
||||
CALL pair_radius_setup(default_present, default_present, c_radius, c_radius, pair_radius)
|
||||
|
|
@ -841,9 +841,10 @@ CONTAINS
|
|||
subcells=subcells, operator_type="PP", nlname="sab_vdw")
|
||||
dispersion_env%sab_vdw => sab_vdw
|
||||
|
||||
IF (dispersion_env%pp_type == vdw_pairpot_dftd3 .OR. &
|
||||
IF (xtb .OR. dispersion_env%pp_type == vdw_pairpot_dftd3 .OR. &
|
||||
dispersion_env%pp_type == vdw_pairpot_dftd3bj) THEN
|
||||
! Build the neighbor lists for coordination numbers as needed by the DFT-D3 method
|
||||
! This is also needed for the xTB Hamiltonian
|
||||
DO ikind = 1, nkind
|
||||
CALL get_atomic_kind(atomic_kind_set(ikind), z=zat)
|
||||
c_radius(ikind) = 4._dp*ptable(zat)%covalent_radius*bohr
|
||||
|
|
|
|||
8
tests/DFTB/regtest-vdw/TEST_FILES
Normal file
8
tests/DFTB/regtest-vdw/TEST_FILES
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# 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
|
||||
# see regtest/TEST_FILES
|
||||
tb_uff.inp 1 1.0E-14 -5.75463073188988
|
||||
tb_d3.inp 1 1.0E-14 -5.76288772623661
|
||||
tb_d3bj.inp 1 1.0E-14 -5.76508211988679
|
||||
tb_d2.inp 1 1.0E-14 -5.85163052938608
|
||||
#EOF
|
||||
53
tests/DFTB/regtest-vdw/tb_d2.inp
Normal file
53
tests/DFTB/regtest-vdw/tb_d2.inp
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
#CPQA INCLUDE DFTB/scc/scc_parameter
|
||||
#CPQA INCLUDE ../uff_table
|
||||
#CPQA INCLUDE DFTB/scc/oo.spl
|
||||
#CPQA INCLUDE DFTB/scc/oc.spl
|
||||
#CPQA INCLUDE DFTB/scc/oh.spl
|
||||
#CPQA INCLUDE DFTB/scc/co.spl
|
||||
#CPQA INCLUDE DFTB/scc/cc.spl
|
||||
#CPQA INCLUDE DFTB/scc/ch.spl
|
||||
#CPQA INCLUDE DFTB/scc/ho.spl
|
||||
#CPQA INCLUDE DFTB/scc/hc.spl
|
||||
#CPQA INCLUDE DFTB/scc/hh.spl
|
||||
|
||||
&FORCE_EVAL
|
||||
&DFT
|
||||
&QS
|
||||
METHOD DFTB
|
||||
&DFTB
|
||||
SELF_CONSISTENT T
|
||||
DISPERSION T
|
||||
ORTHOGONAL_BASIS F
|
||||
DO_EWALD F
|
||||
&PARAMETER
|
||||
PARAM_FILE_PATH DFTB/scc
|
||||
PARAM_FILE_NAME scc_parameter
|
||||
DISPERSION_TYPE D2
|
||||
D2_SCALING 1.10
|
||||
D2_EXP_PRE 2.50
|
||||
&END PARAMETER
|
||||
&END DFTB
|
||||
&END QS
|
||||
&SCF
|
||||
SCF_GUESS ATOMIC
|
||||
MAX_SCF 20
|
||||
&END SCF
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 20.0 20.0 20.0
|
||||
PERIODIC NONE
|
||||
&END CELL
|
||||
&COORD
|
||||
O 0.051368 0.000000 0.000000
|
||||
C 1.278612 0.000000 0.000000
|
||||
H 1.870460 0.939607 0.000000
|
||||
H 1.870460 -0.939607 0.000000
|
||||
&END COORD
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
&GLOBAL
|
||||
PROJECT test_vdw
|
||||
RUN_TYPE GEO_OPT
|
||||
PRINT_LEVEL LOW
|
||||
&END GLOBAL
|
||||
53
tests/DFTB/regtest-vdw/tb_d3.inp
Normal file
53
tests/DFTB/regtest-vdw/tb_d3.inp
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
#CPQA INCLUDE DFTB/scc/scc_parameter
|
||||
#CPQA INCLUDE ../uff_table
|
||||
#CPQA INCLUDE DFTB/scc/oo.spl
|
||||
#CPQA INCLUDE DFTB/scc/oc.spl
|
||||
#CPQA INCLUDE DFTB/scc/oh.spl
|
||||
#CPQA INCLUDE DFTB/scc/co.spl
|
||||
#CPQA INCLUDE DFTB/scc/cc.spl
|
||||
#CPQA INCLUDE DFTB/scc/ch.spl
|
||||
#CPQA INCLUDE DFTB/scc/ho.spl
|
||||
#CPQA INCLUDE DFTB/scc/hc.spl
|
||||
#CPQA INCLUDE DFTB/scc/hh.spl
|
||||
|
||||
&FORCE_EVAL
|
||||
&DFT
|
||||
&QS
|
||||
METHOD DFTB
|
||||
&DFTB
|
||||
SELF_CONSISTENT T
|
||||
DISPERSION T
|
||||
ORTHOGONAL_BASIS F
|
||||
DO_EWALD F
|
||||
&PARAMETER
|
||||
PARAM_FILE_PATH DFTB/scc
|
||||
PARAM_FILE_NAME scc_parameter
|
||||
DISPERSION_TYPE D3
|
||||
DISPERSION_PARAMETER_FILE dftd3.dat
|
||||
D3_SCALING 1.0 1.5 1.5
|
||||
&END PARAMETER
|
||||
&END DFTB
|
||||
&END QS
|
||||
&SCF
|
||||
SCF_GUESS ATOMIC
|
||||
MAX_SCF 20
|
||||
&END SCF
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 20.0 20.0 20.0
|
||||
PERIODIC NONE
|
||||
&END CELL
|
||||
&COORD
|
||||
O 0.051368 0.000000 0.000000
|
||||
C 1.278612 0.000000 0.000000
|
||||
H 1.870460 0.939607 0.000000
|
||||
H 1.870460 -0.939607 0.000000
|
||||
&END COORD
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
&GLOBAL
|
||||
PROJECT test_vdw
|
||||
RUN_TYPE GEO_OPT
|
||||
PRINT_LEVEL LOW
|
||||
&END GLOBAL
|
||||
53
tests/DFTB/regtest-vdw/tb_d3bj.inp
Normal file
53
tests/DFTB/regtest-vdw/tb_d3bj.inp
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
#CPQA INCLUDE DFTB/scc/scc_parameter
|
||||
#CPQA INCLUDE ../uff_table
|
||||
#CPQA INCLUDE DFTB/scc/oo.spl
|
||||
#CPQA INCLUDE DFTB/scc/oc.spl
|
||||
#CPQA INCLUDE DFTB/scc/oh.spl
|
||||
#CPQA INCLUDE DFTB/scc/co.spl
|
||||
#CPQA INCLUDE DFTB/scc/cc.spl
|
||||
#CPQA INCLUDE DFTB/scc/ch.spl
|
||||
#CPQA INCLUDE DFTB/scc/ho.spl
|
||||
#CPQA INCLUDE DFTB/scc/hc.spl
|
||||
#CPQA INCLUDE DFTB/scc/hh.spl
|
||||
|
||||
&FORCE_EVAL
|
||||
&DFT
|
||||
&QS
|
||||
METHOD DFTB
|
||||
&DFTB
|
||||
SELF_CONSISTENT T
|
||||
DISPERSION T
|
||||
ORTHOGONAL_BASIS F
|
||||
DO_EWALD F
|
||||
&PARAMETER
|
||||
PARAM_FILE_PATH DFTB/scc
|
||||
PARAM_FILE_NAME scc_parameter
|
||||
DISPERSION_TYPE D3(BJ)
|
||||
DISPERSION_PARAMETER_FILE dftd3.dat
|
||||
D3BJ_SCALING 1.0 0.4 1.5 4.0
|
||||
&END PARAMETER
|
||||
&END DFTB
|
||||
&END QS
|
||||
&SCF
|
||||
SCF_GUESS ATOMIC
|
||||
MAX_SCF 20
|
||||
&END SCF
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 20.0 20.0 20.0
|
||||
PERIODIC NONE
|
||||
&END CELL
|
||||
&COORD
|
||||
O 0.051368 0.000000 0.000000
|
||||
C 1.278612 0.000000 0.000000
|
||||
H 1.870460 0.939607 0.000000
|
||||
H 1.870460 -0.939607 0.000000
|
||||
&END COORD
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
&GLOBAL
|
||||
PROJECT test_vdw
|
||||
RUN_TYPE GEO_OPT
|
||||
PRINT_LEVEL LOW
|
||||
&END GLOBAL
|
||||
51
tests/DFTB/regtest-vdw/tb_uff.inp
Normal file
51
tests/DFTB/regtest-vdw/tb_uff.inp
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
#CPQA INCLUDE DFTB/scc/scc_parameter
|
||||
#CPQA INCLUDE ../uff_table
|
||||
#CPQA INCLUDE DFTB/scc/oo.spl
|
||||
#CPQA INCLUDE DFTB/scc/oc.spl
|
||||
#CPQA INCLUDE DFTB/scc/oh.spl
|
||||
#CPQA INCLUDE DFTB/scc/co.spl
|
||||
#CPQA INCLUDE DFTB/scc/cc.spl
|
||||
#CPQA INCLUDE DFTB/scc/ch.spl
|
||||
#CPQA INCLUDE DFTB/scc/ho.spl
|
||||
#CPQA INCLUDE DFTB/scc/hc.spl
|
||||
#CPQA INCLUDE DFTB/scc/hh.spl
|
||||
|
||||
&FORCE_EVAL
|
||||
&DFT
|
||||
&QS
|
||||
METHOD DFTB
|
||||
&DFTB
|
||||
SELF_CONSISTENT T
|
||||
DISPERSION T
|
||||
ORTHOGONAL_BASIS F
|
||||
DO_EWALD F
|
||||
&PARAMETER
|
||||
PARAM_FILE_PATH DFTB/scc
|
||||
PARAM_FILE_NAME scc_parameter
|
||||
UFF_FORCE_FIELD ../uff_table
|
||||
&END PARAMETER
|
||||
&END DFTB
|
||||
&END QS
|
||||
&SCF
|
||||
SCF_GUESS ATOMIC
|
||||
MAX_SCF 20
|
||||
&END SCF
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC 20.0 20.0 20.0
|
||||
PERIODIC NONE
|
||||
&END CELL
|
||||
&COORD
|
||||
O 0.051368 0.000000 0.000000
|
||||
C 1.278612 0.000000 0.000000
|
||||
H 1.870460 0.939607 0.000000
|
||||
H 1.870460 -0.939607 0.000000
|
||||
&END COORD
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
&GLOBAL
|
||||
PROJECT test_vdw
|
||||
RUN_TYPE GEO_OPT
|
||||
PRINT_LEVEL LOW
|
||||
&END GLOBAL
|
||||
|
|
@ -332,3 +332,4 @@ Fist/regtest-plumed2 plumed2
|
|||
Fist/regtest-quip quip
|
||||
Fist/regtest-16
|
||||
QS/regtest-rtp-4
|
||||
DFTB/regtest-vdw
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue