Skip to content

Commit b48e0f6

Browse files
committed
Add PySCF B3LYP variant names and DM21 functionals
1 parent dd59132 commit b48e0f6

2 files changed

Lines changed: 15 additions & 10 deletions

File tree

python/dftd3/pyscf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ def __init__(self, mol, xc="hf", version="d3bj", atm=False):
116116

117117
def dump_flags(self, verbose=None):
118118
"""
119-
Show options used for the DFT-D4 dispersion correction.
119+
Show options used for the DFT-D3 dispersion correction.
120120
"""
121121
lib.logger.info(self, "** DFTD3 parameter **")
122122
lib.logger.info(self, "func %s", self.xc)
@@ -127,7 +127,7 @@ def dump_flags(self, verbose=None):
127127

128128
def kernel(self) -> Tuple[float, np.ndarray]:
129129
"""
130-
Compute the DFT-D4 dispersion correction.
130+
Compute the DFT-D3 dispersion correction.
131131
132132
The dispersion model as well as the parameters are created locally and
133133
not part of the state of the instance.

src/dftd3/param.f90

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ module dftd3_param
4040
enum, bind(C)
4141
enumerator :: p_invalid, &
4242
& p_bp_df, p_blyp_df, p_revpbe_df, p_rpbe_df, p_b97d_df, p_pbe_df, &
43-
& p_rpw86pbe_df, p_b3lyp_df, p_tpss_df, p_hf_df, p_tpss0_df, &
43+
& p_rpw86pbe_df, p_b3lyp_df, p_b3lyp_g_df, p_tpss_df, p_hf_df, p_tpss0_df, &
4444
& p_pbe0_df, p_hse06_df, p_revpbe38_df, p_pw6b95_df, p_b2plyp_df, &
4545
& p_dsdblyp_df, p_dsdblypfc_df, p_bop_df, p_mpwlyp_df, p_olyp_df, &
4646
& p_pbesol_df, p_bpbe_df, p_opbe_df, p_ssb_df, p_revssb_df, p_otpss_df, &
@@ -60,7 +60,7 @@ module dftd3_param
6060
& p_mpw2plyp_df, p_m11_df, p_sogga11x_df, p_n12sx_df, p_mn12sx_df, &
6161
& p_ms2_df, p_ms2h_df, p_mpw1lyp_df, p_mpwkcis1k_df, p_pkzb_df, p_n12_df, &
6262
& p_m08hx_df, p_m11l_df, p_mn15l_df, p_pwp_df, p_r2scanh_df, p_r2scan0_df, &
63-
& p_r2scan50_df, p_b973c_df
63+
& p_r2scan50_df, p_b973c_df, p_dm21_df, p_dm21m_df, p_dm21mc_df, p_dm21mu_df
6464
end enum
6565

6666
contains
@@ -90,7 +90,8 @@ function get_method_id(method) result(id)
9090
case("b1p", "b1p86"); id = p_b1p_df
9191
case("b2gpplyp"); id = p_b2gpplyp_df
9292
case("b2plyp"); id = p_b2plyp_df
93-
case("b3lyp"); id = p_b3lyp_df
93+
case("b3lyp", "b3lyp5"); id = p_b3lyp_df
94+
case("b3lypg", "b3lyp3"); id = p_b3lyp_g_df
9495
case("b3lyp/631gd"); id = p_b3lyp_631gd_df
9596
case("b3p", "b3p86"); id = p_b3p_df
9697
case("b3pw91"); id = p_b3pw91_df
@@ -108,6 +109,10 @@ function get_method_id(method) result(id)
108109
case("bpbe"); id = p_bpbe_df
109110
case("camb3lyp"); id = p_camb3lyp_df
110111
case("dftb3"); id = p_dftb3_df
112+
case("dm21"); id = p_dm21_df
113+
case("dm21m"); id = p_dm21m_df
114+
case("dm21mc"); id = p_dm21mc_df
115+
case("dm21mu"); id = p_dm21mu_df/
111116
case("dsdblyp"); id = p_dsdblyp_df
112117
case("dsdblypfc"); id = p_dsdblypfc_df
113118
case("hcth120"); id = p_hcth120_df
@@ -236,7 +241,7 @@ subroutine get_rational_damping(param, method, error, s9)
236241
param = d3_param(a1=0.4289_wp, s8=0.7875_wp, a2=4.4407_wp)
237242
case(p_rpw86pbe_df)
238243
param = d3_param(a1=0.4613_wp, s8=1.3845_wp, a2=4.5062_wp)
239-
case(p_b3lyp_df)
244+
case(p_b3lyp_df, p_b3lyp_g_df, p_dm21_df, p_dm21m_df, p_dm21mc_df, p_dm21mu_df)
240245
param = d3_param(a1=0.3981_wp, s8=1.9889_wp, a2=4.4211_wp)
241246
case(p_tpss_df)
242247
param = d3_param(a1=0.4535_wp, s8=1.9435_wp, a2=4.4752_wp)
@@ -457,7 +462,7 @@ subroutine get_zero_damping(param, method, error, s9)
457462
param = d3_param(rs6=0.872_wp, s8=0.514_wp)
458463
case(p_tpss_df)
459464
param = d3_param(rs6=1.166_wp, s8=1.105_wp)
460-
case(p_b3lyp_df)
465+
case(p_b3lyp_df, p_b3lyp_g_df, p_dm21_df, p_dm21m_df, p_dm21mc_df, p_dm21mu_df)
461466
param = d3_param(rs6=1.261_wp, s8=1.703_wp)
462467
case(p_pbe0_df)
463468
param = d3_param(rs6=1.287_wp, s8=0.928_wp)
@@ -634,7 +639,7 @@ subroutine get_mrational_damping(param, method, error, s9)
634639
return
635640
case(p_b2plyp_df)
636641
param = d3_param(a1=0.486434_wp, s8=0.672820_wp, a2=3.656466_wp, s6=0.640000_wp)
637-
case(p_b3lyp_df)
642+
case(p_b3lyp_df, p_b3lyp_g_df, p_dm21_df, p_dm21m_df, p_dm21mc_df, p_dm21mu_df)
638643
param = d3_param(a1=0.278672_wp, s8=1.466677_wp, a2=4.606311_wp)
639644
case(p_b97d_df)
640645
param = d3_param(a1=0.240184_wp, s8=1.206988_wp, a2=3.864426_wp)
@@ -677,7 +682,7 @@ subroutine get_mzero_damping(param, method, error, s9)
677682
return
678683
case(p_b2plyp_df)
679684
param = d3_param(rs6=1.313134_wp, s8=0.717543_wp, bet=0.016035_wp, s6=0.640000_wp)
680-
case(p_b3lyp_df)
685+
case(p_b3lyp_df, p_b3lyp_g_df, p_dm21_df, p_dm21m_df, p_dm21mc_df, p_dm21mu_df)
681686
param = d3_param(rs6=1.338153_wp, s8=1.532981_wp, bet=0.013988_wp)
682687
case(p_b97d_df)
683688
param = d3_param(rs6=1.151808_wp, s8=1.020078_wp, bet=0.035964_wp)
@@ -728,7 +733,7 @@ subroutine get_optimizedpower_damping(param, method, error, s9)
728733
param = d3_param(s6=1.0_wp, s8=0.12467_wp, a1=0.575_wp, a2=3.000_wp, bet=10.0_wp)
729734
case(p_blyp_df)
730735
param = d3_param(s6=1.0_wp, s8=1.31867_wp, a1=0.425_wp, a2=3.50_wp, bet=2.0_wp)
731-
case(p_b3lyp_df)
736+
case(p_b3lyp_df, p_b3lyp_g_df, p_dm21_df, p_dm21m_df, p_dm21mc_df, p_dm21mu_df)
732737
param = d3_param(s6=1.0_wp, s8=0.78311_wp, a1=0.300_wp, a2=4.25_wp, bet=4.0_wp)
733738
case(p_b97d_df)
734739
param = d3_param(s6=1.0_wp, s8=1.46861_wp, a1=0.600_wp, a2=2.50_wp, bet=0.0_wp)

0 commit comments

Comments
 (0)