13 this->
energy_prefactor = 3. /10. * std::pow(3*std::pow(M_PI, 2.0), 2.0/3.0) * 2;
22 const double tf_weight,
23 const double vw_weight,
26 const std::vector<double> &
chi_xi,
27 const std::vector<double> &
chi_pnl,
28 const std::vector<double> &
chi_qnl,
30 const std::vector<int> &kernel_type,
31 const std::vector<double> &kernel_scaling,
32 const std::vector<double> &yukawa_alpha,
33 const std::vector<std::string> &kernel_file,
34 const bool &of_ml_gamma,
37 const bool &of_ml_tanhp,
38 const bool &of_ml_tanhq,
39 const std::vector<int> &of_ml_gammanl,
40 const std::vector<int> &of_ml_pnl,
41 const std::vector<int> &of_ml_qnl,
42 const std::vector<int> &of_ml_xi,
43 const std::vector<int> &of_ml_tanhxi,
44 const std::vector<int> &of_ml_tanhxi_nl,
45 const std::vector<int> &of_ml_tanh_pnl,
46 const std::vector<int> &of_ml_tanh_qnl,
47 const std::vector<int> &of_ml_tanhp_nl,
48 const std::vector<int> &of_ml_tanhq_nl,
49 const std::string device_inpt,
67 const bool &of_ml_gamma,
70 const bool &of_ml_tanhp,
71 const bool &of_ml_tanhq,
72 const std::vector<int> &of_ml_gammanl_,
73 const std::vector<int> &of_ml_pnl,
74 const std::vector<int> &of_ml_qnl,
75 const std::vector<int> &of_ml_xi,
76 const std::vector<int> &of_ml_tanhxi,
77 const std::vector<int> &of_ml_tanhxi_nl,
78 const std::vector<int> &of_ml_tanh_pnl,
79 const std::vector<int> &of_ml_tanh_qnl,
80 const std::vector<int> &of_ml_tanhp_nl,
81 const std::vector<int> &of_ml_tanhq_nl
void generateTrainData(const double *const *prho, ModulePW::PW_Basis *pw_rho, const double *veff)
Generate training data for ML KEDF.
Definition kedf_ml.cpp:189
void ml_potential(const double *const *prho, ModulePW::PW_Basis *pw_rho, ModuleBase::matrix &rpotential)
Get the potential of ML KEDF, and add it into rpotential.
Definition kedf_ml.cpp:154
KEDF_ML()
Definition kedf_ml.h:11
void set_para(const int nx, const double dV, const double nelec, const double tf_weight, const double vw_weight, const double chi_p, const double chi_q, const std::vector< double > &chi_xi, const std::vector< double > &chi_pnl, const std::vector< double > &chi_qnl, const int &nkernel, const std::vector< int > &kernel_type, const std::vector< double > &kernel_scaling, const std::vector< double > &yukawa_alpha, const std::vector< std::string > &kernel_file, const bool &of_ml_gamma, const bool &of_ml_p, const bool &of_ml_q, const bool &of_ml_tanhp, const bool &of_ml_tanhq, const std::vector< int > &of_ml_gammanl, const std::vector< int > &of_ml_pnl, const std::vector< int > &of_ml_qnl, const std::vector< int > &of_ml_xi, const std::vector< int > &of_ml_tanhxi, const std::vector< int > &of_ml_tanhxi_nl, const std::vector< int > &of_ml_tanh_pnl, const std::vector< int > &of_ml_tanh_qnl, const std::vector< int > &of_ml_tanhp_nl, const std::vector< int > &of_ml_tanhq_nl, const std::string device_inpt, ModulePW::PW_Basis *pw_rho)
Definition kedf_ml.cpp:9
void localTest(const double *const *prho, ModulePW::PW_Basis *pw_rho)
For test.
Definition kedf_ml.cpp:219
double get_energy(const double *const *prho, ModulePW::PW_Basis *pw_rho)
Get the energy of ML KEDF.
Definition kedf_ml.cpp:126
void init_data(const int &nkernel, const bool &of_ml_gamma, const bool &of_ml_p, const bool &of_ml_q, const bool &of_ml_tanhp, const bool &of_ml_tanhq, const std::vector< int > &of_ml_gammanl_, const std::vector< int > &of_ml_pnl, const std::vector< int > &of_ml_qnl, const std::vector< int > &of_ml_xi, const std::vector< int > &of_ml_tanhxi, const std::vector< int > &of_ml_tanhxi_nl, const std::vector< int > &of_ml_tanh_pnl, const std::vector< int > &of_ml_tanh_qnl, const std::vector< int > &of_ml_tanhp_nl, const std::vector< int > &of_ml_tanhq_nl)
Initialize the data for ML KEDF, and generate the mapping between descriptor and kernel.
Definition kedf_ml_label.cpp:25
double ml_energy
Definition kedf_ml.h:61
int nkernel
Definition ml_base.h:116
double chi_q
Definition ml_base.h:91
double dV
Definition ml_base.h:69
int nx
Definition ml_base.h:68
std::vector< double > chi_pnl
Definition ml_base.h:99
std::vector< double > chi_qnl
Definition ml_base.h:100
double energy_prefactor
Definition ml_base.h:75
std::vector< double > chi_xi
Definition ml_base.h:89
double energy_exponent
Definition ml_base.h:76
double chi_p
Definition ml_base.h:90
A class which can convert a function of "r" to the corresponding linear superposition of plane waves ...
Definition pw_basis.h:56