7#ifndef VDWD3_PARAMETERS_H
8#define VDWD3_PARAMETERS_H
32 std::ofstream* plog =
nullptr);
39 inline double s6()
const {
return s6_; }
40 inline double rs6()
const {
return rs6_; }
41 inline double s18()
const {
return s18_; }
44 inline const std::vector<int> &
mxc()
const {
return mxc_; }
45 inline const std::vector<std::vector<std::vector<std::vector<std::vector<double>>>>> &
c6ab()
const {
return c6ab_; }
46 inline const std::vector<double> &
r2r4()
const {
return r2r4_; }
47 inline const std::vector<double> &
rcov() {
return rcov_; }
48 inline const std::vector<std::vector<double>> &
r0ab() {
return r0ab_; }
50 inline double k1()
const {
return k1_; }
51 inline double k2()
const {
return k2_; }
52 inline double k3()
const {
return k3_; }
69 static constexpr double k1_ = 16.0,
k2_ = 4.0 / 3.0,
k3_ = -4.0;
73 std::vector<std::vector<std::vector<std::vector<std::vector<double>>>>>
c6ab_;
76 std::vector<std::vector<double>>
r0ab_;
79 const std::string& d3method,
80 const std::string& s6_in,
81 const std::string& s8_in,
82 const std::string& a1_in,
83 const std::string& a2_in,
88 std::ofstream* plog =
nullptr);
90 static std::string
_vdwd3_xcname(
const std::string& xcpattern);
Definition vdw_parameters.h:12
Definition vdwd3_parameters.h:17
double s6() const
Definition vdwd3_parameters.h:39
std::string version_
Definition vdwd3_parameters.h:58
static constexpr double k2_
Definition vdwd3_parameters.h:69
double alp8() const
Definition vdwd3_parameters.h:54
static std::string _vdwd3_xcname(const std::string &xcpattern)
Definition vdwd3_autoset_xcname.cpp:383
bool abc_
Definition vdwd3_parameters.h:60
const std::vector< std::vector< double > > & r0ab()
Definition vdwd3_parameters.h:48
const std::vector< std::vector< std::vector< std::vector< std::vector< double > > > > > & c6ab() const
Definition vdwd3_parameters.h:45
const std::vector< int > & mxc() const
Definition vdwd3_parameters.h:44
static constexpr size_t max_elem_
Definition vdwd3_parameters.h:68
int limit(int &i)
Definition vdwd3_parameters.cpp:64
double rs18() const
Definition vdwd3_parameters.h:42
const std::vector< double > & rcov()
Definition vdwd3_parameters.h:47
double k1() const
Definition vdwd3_parameters.h:50
void initial_parameters(const std::string &xc, const Input_para &input, std::ofstream *plog=nullptr)
initialize the parameter by either input (from user setting) or autoset by dft XC
Definition vdwd3_parameters.cpp:13
static constexpr double alp8_
Definition vdwd3_parameters.h:70
double s18_
Definition vdwd3_parameters.h:65
double s6_
Definition vdwd3_parameters.h:63
double k3() const
Definition vdwd3_parameters.h:52
void init_C6()
Definition vdwd3_parameters_tab.cpp:12
double rs6() const
Definition vdwd3_parameters.h:40
double alp6() const
Definition vdwd3_parameters.h:53
double rthr2_
Definition vdwd3_parameters.h:61
void init_r0ab()
Definition vdwd3_parameters_tab.cpp:32476
const std::string & version() const
Definition vdwd3_parameters.h:34
double cn_thr2_
Definition vdwd3_parameters.h:62
std::vector< std::vector< std::vector< std::vector< std::vector< double > > > > > c6ab_
Definition vdwd3_parameters.h:73
double rs18_
Definition vdwd3_parameters.h:66
double alp10() const
Definition vdwd3_parameters.h:55
Vdwd3Parameters()
Definition vdwd3_parameters.h:20
static constexpr double k3_
Definition vdwd3_parameters.h:69
double rthr2() const
Definition vdwd3_parameters.h:37
double s18() const
Definition vdwd3_parameters.h:41
std::vector< std::vector< double > > r0ab_
Definition vdwd3_parameters.h:76
std::vector< double > rcov_
Definition vdwd3_parameters.h:75
static constexpr double k1_
Definition vdwd3_parameters.h:69
double cn_thr2() const
Definition vdwd3_parameters.h:38
static constexpr double alp6_
Definition vdwd3_parameters.h:70
const std::vector< double > & r2r4() const
Definition vdwd3_parameters.h:46
void init_r2r4()
Definition vdwd3_parameters_tab.cpp:32426
double k2() const
Definition vdwd3_parameters.h:51
std::vector< int > mxc_
Definition vdwd3_parameters.h:72
double rs6_
Definition vdwd3_parameters.h:64
~Vdwd3Parameters()=default
bool abc() const
Definition vdwd3_parameters.h:36
void init_rcov()
Definition vdwd3_parameters_tab.cpp:32451
std::vector< double > r2r4_
Definition vdwd3_parameters.h:74
static void _vdwd3_autoset_xcparam(const std::string &xc_in, const std::string &d3method, const std::string &s6_in, const std::string &s8_in, const std::string &a1_in, const std::string &a2_in, double &s6, double &s8, double &a1, double &a2, std::ofstream *plog=nullptr)
Get DFT-D3 parameters. If if there are parameters defined, then it will overwrite the search result....
Definition vdwd3_autoset_xcparam.cpp:459
static constexpr double alp10_
Definition vdwd3_parameters.h:70