ergo
|
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... | |
defines LDA and GGA evaluators that work both for dense and sparse matrices.
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.
References DftIntegratorBl_::curr_point, dftpot0_(), KsData< Matrix >::dR, KsData< Matrix >::dZ, KsData< Matrix >::energy, KsData< Matrix >::excmat, FirstDrv::fR, Functional_::func, FirstDrv::fZ, DftIntegratorBl_::g, DftIntegratorBl_::grad, FunDensProp_::grada, FunDensProp_::gradab, FunDensProp_::gradb, DftIntegratorBl_::ntypso, DftIntegratorBl_::r, restrict, DftIntegratorBl_::rho, FunDensProp_::rhoa, FunDensProp_::rhob, selected_func, template_blas_sqrt(), and DftIntegratorBl_::weight.
Referenced by dft_get_xc(), and XCEvaluatorRestricted::getXC().
|
static |
modifes data->excmat by adding GGA-type xc contributions, for a general unrestricted case.
Matrix is a type that provides an operation add(row, col, val).
References DftIntegratorBl_::curr_point, FunFirstFuncDrv::df00001, FunFirstFuncDrv::df0001, FunFirstFuncDrv::df0010, FunFirstFuncDrv::df0100, FunFirstFuncDrv::df1000, UksData< Matrix >::dRa, UksData< Matrix >::dRb, drv1_clear(), UksData< Matrix >::dZa, UksData< Matrix >::dZab, UksData< Matrix >::dZb, UksData< Matrix >::energy, UksData< Matrix >::exca, UksData< Matrix >::excb, Functional_::first, Functional_::func, DftIntegratorBl_::g, FunDensProp_::grada, FunDensProp_::gradab, FunDensProp_::gradb, DftIntegratorBl_::ho, DftIntegratorBl_::ntypso, DftIntegratorBl_::r, DftIntegratorBl_::rad, FunDensProp_::rhoa, FunDensProp_::rhob, selected_func, template_blas_sqrt(), THR, and DftIntegratorBl_::weight.
Referenced by dft_get_uxc(), and XCEvaluatorUnrestricted::getXC().
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.
References DftIntegratorBl_::curr_point, dftpot0_(), KsData< Matrix >::dR, KsData< Matrix >::energy, KsData< Matrix >::excmat, FirstDrv::fR, Functional_::func, DftIntegratorBl_::ntypso, DftIntegratorBl_::r, restrict, DftIntegratorBl_::rho, FunDensProp_::rhoa, selected_func, and DftIntegratorBl_::weight.
Referenced by dft_get_xc(), and XCEvaluatorRestricted::getXC().
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.
Matrix is a type that provides an operation add(row, col, val).
References DftIntegratorBl_::curr_point, FunFirstFuncDrv::df0100, FunFirstFuncDrv::df1000, UksData< Matrix >::dRa, UksData< Matrix >::dRb, drv1_clear(), UksData< Matrix >::energy, UksData< Matrix >::exca, UksData< Matrix >::excb, Functional_::first, Functional_::func, DftIntegratorBl_::ho, DftIntegratorBl_::ntypso, DftIntegratorBl_::r, FunDensProp_::rhoa, FunDensProp_::rhob, selected_func, and DftIntegratorBl_::weight.
Referenced by XCEvaluatorUnrestricted::getXC().