|
static std::tuple< double, double, ModuleBase::matrix > | v_xc (const int &nrxx, const Charge *const chr, const UnitCell *ucell) |
|
static int | get_func_type () |
|
static void | set_xc_type (const std::string xc_func_in) |
|
static void | set_hybrid_alpha (const double alpha_in) |
|
static double | get_hybrid_alpha () |
|
static bool | get_ked_flag () |
|
static void | set_xc_first_loop (const UnitCell &ucell) |
| Usually in exx caculation, the first SCF loop should be converged with PBE.
|
|
static std::vector< int > | get_func_id () |
|
static void | xc (const double &rho, double &exc, double &vxc) |
|
static void | xc_spin (const double &rho, const double &zeta, double &exc, double &vxcup, double &vxcdw) |
|
static void | gcxc (const double &rho, const double &grho, double &sxc, double &v1xc, double &v2xc) |
|
static void | gcx_spin (double rhoup, double rhodw, double grhoup2, double grhodw2, double &sx, double &v1xup, double &v1xdw, double &v2xup, double &v2xdw) |
|
static void | gcc_spin (double rho, double &zeta, double grho, double &sc, double &v1cup, double &v1cdw, double &v2c) |
|
static void | gradcorr (double &etxc, double &vtxc, ModuleBase::matrix &v, const Charge *const chr, ModulePW::PW_Basis *rhopw, const UnitCell *ucell, std::vector< double > &stress_gga, const bool is_stress=false) |
|
template<typename T , typename Device , typename Real = typename GetTypeReal<T>::type> |
static void | grad_wfc (const int ik, const Real tpiba, const ModulePW::PW_Basis_K *wfc_basis, const T *rhog, T *grad) |
|
static void | grad_rho (const std::complex< double > *rhog, ModuleBase::Vector3< double > *gdr, const ModulePW::PW_Basis *rho_basis, const double tpiba) |
|
static void | grad_dot (const ModuleBase::Vector3< double > *h, double *dh, const ModulePW::PW_Basis *rho_basis, const double tpiba) |
|
static void | noncolin_rho (double *rhoout1, double *rhoout2, double *seg, const double *const *const rho, const int nrxx, const double *ux_, const bool lsign_) |
|
static void | slater (const double &rs, double &ex, double &vx) |
|
static void | slater1 (const double &rs, double &ex, double &vx) |
|
static void | slater_rxc (const double &rs, double &ex, double &vx) |
|
static void | slater_spin (const double &rho, const double &zeta, double &ex, double &vxup, double &vxdw) |
|
static void | slater1_spin (const double &rho, const double &zeta, double &ex, double &vxup, double &vxdw) |
|
static void | slater_rxc_spin (const double &rho, const double &z, double &ex, double &vxup, double &vxdw) |
|
static void | pw (const double &rs, const int &iflag, double &ec, double &vc) |
|
static void | pz (const double &rs, const int &iflag, double &ec, double &vc) |
|
static void | lyp (const double &rs, double &ec, double &vc) |
|
static void | vwn (const double &rs, double &ec, double &vc) |
|
static void | wigner (const double &rs, double &ec, double &vc) |
|
static void | hl (const double &rs, double &ec, double &vc) |
|
static void | gl (const double &rs, double &ec, double &vc) |
|
static void | pw_spin (const double &rs, const double &zeta, double &ec, double &vcup, double &vcdw) |
|
static void | pz_spin (const double &rs, const double &zeta, double &ec, double &vcup, double &vcdw) |
|
static void | pz_polarized (const double &rs, double &ec, double &vc) |
|
static void | becke88 (const double &rho, const double &grho, double &sx, double &v1x, double &v2x) |
|
static void | ggax (const double &rho, const double &grho, double &sx, double &v1x, double &v2x) |
|
static void | pbex (const double &rho, const double &grho, const int &iflag, double &sx, double &v1x, double &v2x) |
|
static void | optx (const double rho, const double grho, double &sx, double &v1x, double &v2x) |
|
static void | wcx (const double &rho, const double &grho, double &sx, double &v1x, double &v2x) |
|
static void | becke88_spin (double rho, double grho, double &sx, double &v1x, double &v2x) |
|
static void | perdew86 (const double rho, const double grho, double &sc, double &v1c, double &v2c) |
|
static void | ggac (const double &rho, const double &grho, double &sc, double &v1c, double &v2c) |
|
static void | pbec (const double &rho, const double &grho, const int &flag, double &sc, double &v1c, double &v2c) |
|
static void | glyp (const double &rho, const double &grho, double &sc, double &v1c, double &v2c) |
|
static void | perdew86_spin (double rho, double zeta, double grho, double &sc, double &v1cup, double &v1cdw, double &v2c) |
|
static void | pbec_spin (double rho, double zeta, double grho, const int &flag, double &sc, double &v1cup, double &v1cdw, double &v2c) |
|
static void | hcth (const double rho, const double grho, double &sx, double &v1x, double &v2x) |
|
static void | pwcorr (const double r, const double c[], double &g, double &dg) |
|