JDFTx  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ExCorr_internal_LDA.h File Reference

Classes

class  FunctionalLDA
 Common interface to the compute kernels shared by all LDA functionals. More...
 
struct  LDA_calc< variant, nCount >
 
struct  LDA_calc< LDA_KE_TF, nCount >
 Specialization of LDA_calc for Thomas-Fermi kinetic energy (compute directly in n[s]) More...
 
struct  LDA_calc< LDA_X_Slater, nCount >
 Specialization of LDA_calc for Slater exchange (compute directly in n[s]; zeta not required) More...
 
struct  LDA_eval_C_PZ< para >
 
struct  LDA_eval_C_PW< spinID, prec >
 
struct  LDA_eval_C_VWN< spinID >
 

Macros

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

Enumerations

enum  LDA_Variant {
  LDA_X_Slater, LDA_C_PZ, LDA_C_PW, LDA_C_PW_prec,
  LDA_C_VWN, LDA_XC_Teter, LDA_KE_TF
}
 Available LDA functionals. More...
 

Functions

template<LDA_Variant variant>
__hostanddev__ double LDA_eval (double rs, double zeta, double &e_rs, double &e_zeta)
 
template<>
__hostanddev__ double LDA_eval< LDA_C_PZ > (double rs, double zeta, double &e_rs, double &e_zeta)
 Perdew-Zunger correlation.
 
template<>
__hostanddev__ double LDA_eval< LDA_C_PW > (double rs, double zeta, double &e_rs, double &e_zeta)
 Perdew-Wang correlation (original version, for numerical compatibility with LibXC's PW91)
 
template<>
__hostanddev__ double LDA_eval< LDA_C_PW_prec > (double rs, double zeta, double &e_rs, double &e_zeta)
 Perdew-Wang correlation (extended precision version, for numerical compatibility with LibXC's PBE)
 
template<>
__hostanddev__ double LDA_eval< LDA_C_VWN > (double rs, double zeta, double &e_rs, double &e_zeta)
 Vosko-Wilk-Nusair correlation.
 
template<>
__hostanddev__ double LDA_eval< LDA_XC_Teter > (double rs, double zeta, double &e_rs, double &e_zeta)
 Teter LSD exchange & correlation [Phys. Rev. B 54, 1703 (1996)].
 

Detailed Description

Shared CPU-GPU implementation of LDA functionals