JDFTx  1.7.0
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