A class which calculates the kinetic energy, potential, and stress with Thomas-Fermi (TF) KEDF. See Fermi E. Rend. Accad. Naz. Lincei, 1927, 6(602-607): 5. Thomas L H. Cambridge University Press, 1927, 23(5): 542-548.
More...
#include <kedf_tf.h >
KEDF_TF ()
~KEDF_TF ()
void set_para (int nx, double dV, double tf_weight)
double get_energy (const double *const *prho)
Get the energy of TF KEDF,.
double get_energy_density (const double *const *prho, int is, int ir)
Get the energy density of TF KEDF.
void tau_tf (const double *const *prho, double *rtau_tf)
Get the kinetic energy of TF KEDF, and add it onto rtau_tf.
void tf_potential (const double *const *prho, ModuleBase::matrix &rpotential)
Get the potential of TF KEDF, and add it into rpotential, and the TF energy will be calculated and stored in this->tf_energy.
void get_stress (double cell_vol)
Get the stress of TF KEDF, and store it into this->stress.
A class which calculates the kinetic energy, potential, and stress with Thomas-Fermi (TF) KEDF. See Fermi E. Rend. Accad. Naz. Lincei, 1927, 6(602-607): 5. Thomas L H. Cambridge University Press, 1927, 23(5): 542-548.
Author sunliang on 2022-05
◆ KEDF_TF()
◆ ~KEDF_TF()
◆ get_energy()
double KEDF_TF::get_energy
(
const double *const *
prho )
Get the energy of TF KEDF,.
Parameters
Returns the energy of TF KEDF
◆ get_energy_density()
double KEDF_TF::get_energy_density
(
const double *const *
prho ,
int
is ,
int
ir
)
Get the energy density of TF KEDF.
Parameters
prho charge density
is the index of spin
ir the index of real space grid
Returns the energy density of TF KEDF
◆ get_stress()
void KEDF_TF::get_stress
(
double
cell_vol )
Get the stress of TF KEDF, and store it into this->stress.
Parameters
cell_vol the volume of cell
◆ set_para()
void KEDF_TF::set_para
(
int
nx ,
double
dV ,
double
tf_weight
)
◆ tau_tf()
void KEDF_TF::tau_tf
(
const double *const *
prho ,
double *
rtau_tf
)
Get the kinetic energy of TF KEDF, and add it onto rtau_tf.
Parameters
prho charge density
rtau_tf rtau_tf => rtau_tf + tau_tf
◆ tf_potential()
void KEDF_TF::tf_potential
(
const double *const *
prho ,
ModuleBase::matrix &
rpotential
)
Get the potential of TF KEDF, and add it into rpotential, and the TF energy will be calculated and stored in this->tf_energy.
Parameters
prho charge density
rpotential rpotential => rpotential + V_{TF}
◆ c_tf_
const double KEDF_TF::c_tf_
private
Initial value: = 3.0 / 10.0 * std::pow(3 * std::pow(M_PI, 2.0), 2.0 / 3.0)
* 2
◆ dV_
◆ nx_
◆ stress
◆ tf_energy
double KEDF_TF::tf_energy = 0.
◆ tf_weight_
double KEDF_TF::tf_weight_ = 1.
private
The documentation for this class was generated from the following files:
/home/runner/work/abacus-develop/abacus-develop/source/source_pw/module_ofdft/kedf_tf.h
/home/runner/work/abacus-develop/abacus-develop/source/source_pw/module_ofdft/kedf_tf.cpp