JDFTx  1.7.0
ExCorr_internal_mGGA.h File Reference

Classes

class  FunctionalMGGA
 Common interface to the compute kernels for mGGA-like functionals. More...
 
struct  mGGA_calc< variant, true, nCount >
 Specialization of mGGA_calc for spin-scaling functionals (exchange) More...
 
struct  mGGA_calc< variant, false, nCount >
 

Macros

#define SwitchTemplate_mGGA(variant, nCount, fTemplate, argList)
 

Enumerations

enum  mGGA_Variant { mGGA_X_TPSS , mGGA_C_TPSS , mGGA_X_revTPSS , mGGA_C_revTPSS }
 Available mGGA functionals. More...
 

Functions

template<mGGA_Variant variant>
__hostanddev__ double mGGA_eval (double rs, double s2, double q, double z, double &e_rs, double &e_s2, double &e_q, double &e_z)
 
template<mGGA_Variant variant>
__hostanddev__ double mGGA_eval (double rs, double zeta, double g, double t2, double t2up, double t2dn, double zi2, double z, double &e_rs, double &e_zeta, double &e_g, double &e_t2, double &e_t2up, double &e_t2dn, double &e_zi2, double &e_z)
 
template<bool revised>
__hostanddev__ double mGGA_TPSS_Exchange (double rs, double s2, double q, double z, double &e_rs, double &e_s2, double &e_q, double &e_z)
 
template<>
__hostanddev__ double mGGA_eval< mGGA_X_TPSS > (double rs, double s2, double q, double z, double &e_rs, double &e_s2, double &e_q, double &e_z)
 TPSS Exchange: J.P. Perdew et al, Phys. Rev. Lett. 91, 146401 (2003)
 
template<>
__hostanddev__ double mGGA_eval< mGGA_X_revTPSS > (double rs, double s2, double q, double z, double &e_rs, double &e_s2, double &e_q, double &e_z)
 revTPSS Exchange: J.P. Perdew et al, Phys. Rev. Lett. 103, 026403 (2009)
 
template<bool revised>
__hostanddev__ double betaTPSS (double rs, double &beta_rs)
 Compute beta(rs) for the TPSS/revTPSS correlation functionals.
 
template<bool revised>
__hostanddev__ double mGGA_TPSS_Correlation (double rs, double zeta, double g, double t2, double t2up, double t2dn, double zi2, double z, double &e_rs, double &e_zeta, double &e_g, double &e_t2, double &e_t2up, double &e_t2dn, double &e_zi2, double &e_z)
 
template<>
__hostanddev__ double mGGA_eval< mGGA_C_TPSS > (double rs, double zeta, double g, double t2, double t2up, double t2dn, double zi2, double z, double &e_rs, double &e_zeta, double &e_g, double &e_t2, double &e_t2up, double &e_t2dn, double &e_zi2, double &e_z)
 TPSS Correlation: J.P. Perdew et al, Phys. Rev. Lett. 91, 146401 (2003)
 
template<>
__hostanddev__ double mGGA_eval< mGGA_C_revTPSS > (double rs, double zeta, double g, double t2, double t2up, double t2dn, double zi2, double z, double &e_rs, double &e_zeta, double &e_g, double &e_t2, double &e_t2up, double &e_t2dn, double &e_zi2, double &e_z)
 revTPSS Correlation: J.P. Perdew et al, Phys. Rev. Lett. 103, 026403 (2009)
 

Detailed Description

Shared CPU-GPU implementation of meta GGA functionals