#include <kedf_manager.h>
|
| | KEDF_Manager () |
| |
| | ~KEDF_Manager () |
| |
| void | init (const Input_para &inp, ModulePW::PW_Basis *pw_rho, const double dV, const double nelec) |
| | [Interface to kedf] Initialize the KEDFs.
|
| |
| void | get_potential (const double *const *prho, const double *const *pphi, ModulePW::PW_Basis *pw_rho, ModuleBase::matrix &rpot) |
| | [Interface to kedf] Calculated the kinetic potential and plus it to rpot,
|
| |
| double | get_energy () |
| | [Interface to kedf] Return the kinetic energy
|
| |
| void | get_energy_density (const double *const *prho, const double *const *pphi, ModulePW::PW_Basis *pw_rho, double **rtau) |
| | [Interface to kedf] Calculated the kinetic energy density, ONLY SPIN=1 SUPPORTED
|
| |
| void | get_stress (const double omega, const double *const *prho, const double *const *pphi, ModulePW::PW_Basis *pw_rho, ModuleBase::matrix &kinetic_stress_) |
| | [Interface to kedf] Calculate the stress of kedf
|
| |
| void | record_energy (std::vector< std::string > &titles, std::vector< double > &energies_Ry) |
| |
| void | generate_ml_target (const double *const *prho, ModulePW::PW_Basis *pw_rho, const double *veff) |
| |
◆ KEDF_Manager()
| KEDF_Manager::KEDF_Manager |
( |
| ) |
|
|
inline |
◆ ~KEDF_Manager()
| KEDF_Manager::~KEDF_Manager |
( |
| ) |
|
|
inline |
◆ generate_ml_target()
| void KEDF_Manager::generate_ml_target |
( |
const double *const * |
prho, |
|
|
ModulePW::PW_Basis * |
pw_rho, |
|
|
const double * |
veff |
|
) |
| |
◆ get_energy()
| double KEDF_Manager::get_energy |
( |
| ) |
|
[Interface to kedf] Return the kinetic energy
- Returns
- kinetic energy
◆ get_energy_density()
| void KEDF_Manager::get_energy_density |
( |
const double *const * |
prho, |
|
|
const double *const * |
pphi, |
|
|
ModulePW::PW_Basis * |
pw_rho, |
|
|
double ** |
rtau |
|
) |
| |
[Interface to kedf] Calculated the kinetic energy density, ONLY SPIN=1 SUPPORTED
- Parameters
-
| [in] | prho | charge density |
| [in] | pphi | phi = sqrt(rho) |
| [in] | pw_rho | pw basis for charge density |
| [out] | rtau | kinetic energy density |
◆ get_potential()
[Interface to kedf] Calculated the kinetic potential and plus it to rpot,
- Parameters
-
| [in] | prho | charge density |
| [in] | pphi | phi^2 = rho |
| [in] | pw_rho | pw basis for charge density |
| [out] | rpot | rpot => (rpot + kietic potential) * 2 * pphi |
◆ get_stress()
[Interface to kedf] Calculate the stress of kedf
- Parameters
-
| [in] | omega | Volume of the unit cell |
| [in] | prho | charge density |
| [in] | pphi | phi^2 = rho |
| [in] | pw_rho | pw basis for charge density |
| [out] | kinetic_stress_ | |
◆ init()
[Interface to kedf] Initialize the KEDFs.
- Parameters
-
| inp | |
| pw_rho | pw basis for charge density |
| dV | volume of one grid point in real space |
| nelec | number of electrons in the unit cell |
Thomas-Fermi (TF) KEDF, TF+ KEDF, Want-Teter (WT) KEDF, and XWM KEDF
vW, TF+, WT, XWM, and LKT KEDFs
Wang-Teter KEDF
Xu-Wang-Ma KEDF
LKT KEDF
◆ record_energy()
| void KEDF_Manager::record_energy |
( |
std::vector< std::string > & |
titles, |
|
|
std::vector< double > & |
energies_Ry |
|
) |
| |
◆ lkt_
◆ ml_
| KEDF_ML* KEDF_Manager::ml_ = nullptr |
|
private |
◆ of_kinetic_
| std::string KEDF_Manager::of_kinetic_ = "wt" |
|
private |
◆ tf_
| KEDF_TF* KEDF_Manager::tf_ = nullptr |
|
private |
◆ vw_
| KEDF_vW* KEDF_Manager::vw_ = nullptr |
|
private |
◆ wt_
| KEDF_WT* KEDF_Manager::wt_ = nullptr |
|
private |
◆ xwm_
The documentation for this class was generated from the following files:
- /home/runner/work/abacus-develop/abacus-develop/source/source_pw/module_ofdft/kedf_manager.h
- /home/runner/work/abacus-develop/abacus-develop/source/source_pw/module_ofdft/kedf_manager.cpp