Commit 167a87c8 authored by dceresoli's avatar dceresoli

Added the possibility to enter the vdw radius for each

specie for the Grimme correction


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/[email protected] c92efa57-630b-4861-b058-cf58834340f0
parent bcf8f69d
......@@ -489,9 +489,11 @@ MODULE input_parameters
! other DFT-D parameters ( see Modules/mm_dispersion.f90 )
! london_s6 = default global scaling parameter for PBE
! london_c6 = user specified atomic C6 coefficients
! london_rvdw = user specified atomic vdw radii
REAL ( DP ) :: london_s6 = 0.75_DP , &
london_rcut = 200.00_DP , &
london_c6( nsx ) = -1.0_DP
london_c6( nsx ) = -1.0_DP, &
london_rvdw( nsx ) = -1.0_DP
LOGICAL :: ts_vdw = .false.
! OBSOLESCENT: same as vdw_corr='Tkatchenko-Scheffler'
......@@ -586,7 +588,7 @@ MODULE input_parameters
constrained_magnetization, B_field, fixed_magnetization, &
sic, sic_epsilon, force_pairing, sic_alpha, &
tot_charge, tot_magnetization, spline_ps, one_atom_occupations, &
vdw_corr, london, london_s6, london_rcut, london_c6, &
vdw_corr, london, london_s6, london_rcut, london_c6, london_rvdw,&
ts_vdw, ts_vdw_isolated, ts_vdw_econv_thr, &
xdm, xdm_a1, xdm_a2, &
step_pen, A_pen, sigma_pen, alpha_pen, no_t_rev, &
......
......@@ -36,11 +36,12 @@ MODULE london_module
! r ( 3 , mxr ) : ordered distance vectors
! dist2 ( mxr ) : ordered distances
!
REAL ( DP ) , PUBLIC :: scal6=0._dp , lon_rcut=0._dp , in_C6 ( nsx )
REAL ( DP ) , PUBLIC :: scal6=0._dp , lon_rcut=0._dp , in_C6 ( nsx ), in_rvdw( nsx )
!
! scal6 : global scaling factor
! lon_rcut : public cut-off radius
! in_C6 ( ntyp ) : input (user) specified atomic C6 coefficients
! in_rvdw ( ntyp ) : input (user) specified atomic vdw radii
!
INTEGER , PRIVATE :: mxr
!
......@@ -211,7 +212,11 @@ MODULE london_module
ELSE
C6_i ( ilab ) = vdw_coeffs(1,i)
END IF
R_vdw ( ilab ) = vdw_coeffs(2,i)
IF ( in_rvdw (ilab) > 0.0_DP ) THEN
R_vdw ( ilab ) = in_rvdw (ilab)
ELSE
R_vdw ( ilab ) = vdw_coeffs(2,i)
END IF
ELSE
CALL errore ( ' init_london ' ,&
'atom ' // atom_label(ilab) //' not found ' , ilab )
......
......@@ -253,6 +253,7 @@ MODULE read_namelists_module
london_s6 = 0.75_DP
london_rcut = 200.00_DP
london_c6 = -1.0_DP
london_rvdw = -1.0_DP
ts_vdw = .FALSE.
ts_vdw_isolated = .FALSE.
ts_vdw_econv_thr = 1.E-6_DP
......@@ -841,6 +842,7 @@ MODULE read_namelists_module
CALL mp_bcast( london_s6, ionode_id, intra_image_comm )
CALL mp_bcast( london_rcut, ionode_id, intra_image_comm )
CALL mp_bcast( london_c6, ionode_id, intra_image_comm )
CALL mp_bcast( london_rvdw, ionode_id, intra_image_comm )
CALL mp_bcast( xdm, ionode_id, intra_image_comm )
CALL mp_bcast( xdm_a1, ionode_id, intra_image_comm )
CALL mp_bcast( xdm_a2, ionode_id, intra_image_comm )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment