JDFTx  1.7.0
D3 Namespace Reference

DFT-D3 parameters for all elements. More...

Classes

struct  AtomParams
 Parameter set per atom type. More...
 
struct  PairParams
 Parameter set per pair of atom types. More...
 

Enumerations

enum  XC {
  XC_PBE , XC_PBESOL , XC_RPBE , XC_SSB ,
  XC_TPSS , XC_HF , XC_PBE0 , XC_PBE38 ,
  XC_HSE06 , XC_B3PW91 , XC_B3LYP , XC_CAM_B3LYP ,
  XC_PW6B95 , XC_TPSS0 , XC_TPSSH , XC_PWB6K ,
  XC_MPW1B95 , XC_MPWB1K , XC_BMK , XC_LC_WPBE ,
  XC_LDA , XC_HCTH_120 , XC_M06_L , XC_M05 ,
  XC_M05_2X , XC_M06 , XC_M06_2X , XC_M06_HF ,
  XC_R2SCAN , XC_RSCAN , XC_B97_D , XC_BOP ,
  XC_HSE03 , XC_BHLYP , XC_B1B95 , XC_XLYP ,
  XC_HCTH_407 , XC_PW91 , XC_revTPSS , XC_tHCTH ,
  XC_B3P86 , XC_B1LYP , XC_MPW1PW91 , XC_MPW1KCIS ,
  XC_MPWKCIS1K , XC_PBE1KCIS , XC_X3LYP , XC_O3LYP ,
  XC_B97_1 , XC_B97_2 , XC_B98 , XC_revTPSSh ,
  XC_TPSS1KCIS , XC_M11 , XC_N12SX , XC_MN12SX ,
  XC_MN12L , XC_MN15 , XC_SCAN
}
 List of functionals grouped by currently active D3 support.
 
enum  FitPaper {
  FP_Ehlert_2021 , FP_Goerigk_2017 , FP_Brandenburg_2016 , FP_Moellmann_2014 ,
  FP_Reimers_2015 , FP_Goerigk_2015 , FP_Goerigk_2011 , FP_Grimme_2011 ,
  FP_None
}
 

Functions

EnumStringMap< XCxcMap (D3_XC_COMMON_MAP_ENTRIES, XC_LDA, "lda", XC_HCTH_120, "gga-HCTH-120", XC_M06_L, "mgga-M06-L", XC_M05, "hyb-M05", XC_M05_2X, "hyb-M05-2X", XC_M06, "hyb-M06", XC_M06_2X, "hyb-M06-2X", XC_M06_HF, "hyb-M06-HF")
 Map XC onto shortened names:
 
EnumStringMap< XCxcMapBJ (D3_XC_COMMON_MAP_ENTRIES, XC_R2SCAN, "mgga-r2scan", XC_RSCAN, "mgga-rscan", XC_BOP, "hyb-lc-bop", XC_B97_D, "gga-b97-d", XC_XLYP, "gga-xlyp", XC_HCTH_407, "gga-hcth-407", XC_PW91, "gga-PW91", XC_tHCTH, "mgga-tau-hcth", XC_revTPSS, "mgga-revtpss", XC_HSE03, "hyb-hse03", XC_BHLYP, "hyb-bhandh", XC_B3P86, "hyb-b3p86", XC_B1LYP, "hyb-b1lyp", XC_MPW1PW91, "hyb-mpw1pw", XC_MPW1KCIS, "hyb-mpw1kcis", XC_MPWKCIS1K, "hyb-mpwkcis1k", XC_PBE1KCIS, "hyb-pbe1kcis", XC_X3LYP, "hyb-x3lyp", XC_O3LYP, "hyb-o3lyp", XC_B97_1, "hyb-b97-1", XC_B97_2, "hyb-b97-2", XC_B98, "hyb-b98", XC_revTPSSh, "hyb-revtpssh", XC_TPSS1KCIS, "hyb-tpss1kcis", XC_M11, "hyb-m11", XC_N12SX, "hyb-n12-sx", XC_MN12SX, "hyb-mn12-sx", XC_MN12L, "mgga-mn12-l", XC_MN15, "hyb-mn15", XC_SCAN, "mgga-scan", XC_B1B95, "hyb-b88b95")
 Map XC onto shortened names:
 
void string_replace (string &s, string target, string replacement)
 
void setXCscale (string &xcName, bool dampBJ, double &s6, double &sr6, double &s8, double &sr8)
 

Variables

const int Zmax = 94
 maximum parameterized atomic number
 
const int alpha6 = 14
 exponent in damping function of r^-6 term
 
const int alpha8 = 16
 exponent in damping function of r^-8 term
 
const double k1 = 16.
 damping factor in coordination number calculation
 
const double k2 = 4./3.
 covalent radius scale factor in coordination number calculation
 
const double k3 = 4.
 exponential factor in coordination number interpolation of C6
 
const double sqrtQ [Zmax]
 sqrt(Q) for each element, involved in computing C8 from C6 More...
 
const double k2Rcov [Zmax]
 Covalent radius in bohrs for each element, scaled by k2 = 4/3. More...
 
const double R0_Angstrom [Zmax *(Zmax+1)/2]
 R0_A + R0_B for each pair of elements in Angstroms.
 

Detailed Description

DFT-D3 parameters for all elements.

Function Documentation

◆ setXCscale()

void D3::setXCscale ( string xcName,
bool  dampBJ,
double &  s6,
double &  sr6,
double &  s8,
double &  sr8 
)

Set scale parameters s6, s8 and damping parameters sr6, sr8 for r^-6, r^-8 terms by name of XC functional xcName. Note that xcName is canonicalized upon return, especially for LibXC functionals, to unify internal and LibXC names.

Variable Documentation

◆ k2Rcov

const double D3::k2Rcov[Zmax]
Initial value:
= {
0.80628308, 1.15903197, 3.02356173, 2.36845659, 1.94011865,
1.88972601, 1.78894056, 1.58736983, 1.61256616, 1.68815527,
3.52748848, 3.14954334, 2.84718717, 2.62041997, 2.77159820,
2.57002732, 2.49443835, 2.41884923, 4.43455700, 3.88023730,
3.35111422, 3.07395437, 3.04875805, 2.77159820, 2.69600923,
2.62041997, 2.51963467, 2.49443835, 2.54483100, 2.74640188,
2.82199085, 2.74640188, 2.89757982, 2.77159820, 2.87238349,
2.94797246, 4.76210950, 4.20778980, 3.70386304, 3.50229216,
3.32591790, 3.12434702, 2.89757982, 2.84718717, 2.84718717,
2.72120556, 2.89757982, 3.09915070, 3.22513231, 3.17473967,
3.17473967, 3.09915070, 3.32591790, 3.30072128, 5.26603625,
4.43455700, 4.08180818, 3.70386304, 3.98102289, 3.95582657,
3.93062995, 3.90543362, 3.80464833, 3.82984466, 3.80464833,
3.77945201, 3.75425569, 3.75425569, 3.72905937, 3.85504098,
3.67866672, 3.45189952, 3.30072128, 3.09915070, 2.97316878,
2.92277614, 2.79679452, 2.82199085, 2.84718717, 3.32591790,
3.27552496, 3.27552496, 3.42670319, 3.30072128, 3.47709584,
3.57788113, 5.06446567, 4.56053862, 4.20778980, 3.98102289,
3.82984466, 3.85504098, 3.88023730, 3.90543362}

Covalent radius in bohrs for each element, scaled by k2 = 4/3.

◆ sqrtQ

const double D3::sqrtQ[Zmax]
Initial value:
= {
2.00734898, 1.56637132, 5.01986934, 3.85379032, 3.64446594,
3.10492822, 2.71175247, 2.59361680, 2.38825250, 2.21522516,
6.58585536, 5.46295967, 5.65216669, 4.88284902, 4.29727576,
4.04108902, 3.72932356, 3.44677275, 7.97762753, 7.07623947,
6.60844053, 6.28791364, 6.07728703, 5.54643096, 5.80491167,
5.58415602, 5.41374528, 5.28497229, 5.22592821, 5.09817141,
6.12149689, 5.54083734, 5.06696878, 4.87005108, 4.59089647,
4.31176304, 9.55461698, 8.67396077, 7.97210197, 7.43439917,
6.58711862, 6.19536215, 6.01517290, 5.81623410, 5.65710424,
5.52640661, 5.44263305, 5.58285373, 7.02081898, 6.46815523,
5.98089120, 5.81686657, 5.53321815, 5.25477007, 11.02204549,
10.15679528, 9.35167836, 9.06926079, 8.97241155, 8.90092807,
8.85984840, 8.81736827, 8.79317710, 7.89969626, 8.80588454,
8.42439218, 8.54289262, 8.47583370, 8.45090888, 8.47339339,
7.83525634, 8.20702843, 7.70559063, 7.32755997, 7.03887381,
6.68978720, 6.05450052, 5.88752022, 5.70661499, 5.78450695,
7.79780729, 7.26443867, 6.78151984, 6.67883169, 6.39024318,
6.09527958, 11.79156076, 11.10997644, 9.51377795, 8.67197068,
8.77140725, 8.65402716, 8.53923501, 8.85024712}

sqrt(Q) for each element, involved in computing C8 from C6