ergo
xc_evaluators.h File Reference

defines LDA and GGA evaluators that work both for dense and sparse matrices. More...

Go to the source code of this file.

Classes

struct  KsData< Matrix >
 structure describing the data needed by distributors. More...
 
struct  XCDistributorLda< Matrix >
 distributes a LDA-type xc potential over the XC-matrix elements, with optimization for a closed shell case. More...
 
struct  XCDistributorGga< Matrix >
 distributes a GGA-type xc potential over the XC-matrix elements. More...
 
struct  UksData< Matrix >
 
struct  XCDistributorGgaU< Matrix >
 

Functions

template<typename Matrix , typename LDADistributor >
void xcCallbackLdaR (DftIntegratorBl *grid, real *restrict tmp, int bllen, int blstart, int blend, KsData< Matrix > *data)
 modifies data->excmat by adding LDA-type contributions from a given set of bllen grid points as saved in grid. More...
 
template<typename Matrix , typename GGADistributor >
void xcCallbackGgaR (DftIntegratorBl *grid, real *restrict tmp, int bllen, int blstart, int blend, KsData< Matrix > *data)
 modifies data->excmat by adding GGA-type contributions from a given set of bllen grid points as saved in grid. More...
 
template<typename Matrix , typename LDADistributor >
void xcCallbackLdaU (DftIntegratorBl *grid, real *restrict tmp, int bllen, int blstart, int blend, UksData< Matrix > *d)
 modifies data->excmat by adding LDA-type xc contributions, for a general unrestricted case. More...
 
template<typename Matrix , typename GGADistributor >
static void xcCallbackGgaU (DftIntegratorBl *grid, real *restrict tmp, int bllen, int blstart, int blend, UksData< Matrix > *d)
 modifes data->excmat by adding GGA-type xc contributions, for a general unrestricted case. More...
 

Detailed Description

defines LDA and GGA evaluators that work both for dense and sparse matrices.

Function Documentation

◆ xcCallbackGgaR()

template<typename Matrix , typename GGADistributor >
void xcCallbackGgaR ( DftIntegratorBl grid,
real *restrict  tmp,
int  bllen,
int  blstart,
int  blend,
KsData< Matrix > *  data 
)

◆ xcCallbackGgaU()

◆ xcCallbackLdaR()

template<typename Matrix , typename LDADistributor >
void xcCallbackLdaR ( DftIntegratorBl grid,
real *restrict  tmp,
int  bllen,
int  blstart,
int  blend,
KsData< Matrix > *  data 
)

◆ xcCallbackLdaU()

template<typename Matrix , typename LDADistributor >
void xcCallbackLdaU ( DftIntegratorBl grid,
real *restrict  tmp,
int  bllen,
int  blstart,
int  blend,
UksData< Matrix > *  d 
)