source/dft/rho-mat.h File Reference

Density and gradient evaluation interface. More...

#include "grid_matrix.h"

Go to the source code of this file.

Defines

#define RHOMAT_HEADER   1

Functions

void getrho_blocked_lda (int nbast, const real *dmat, const real *gao, const int *nblocks, const int(*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho)
void getrho_blocked_lda (int nbast, const Dft::FullMatrix &m, const real *gao, const int *nblocks, const int(*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho)
void getrho_blocked_gga (int nbast, const real *dmat, const real *gao, const int *nblocks, const int(*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho, real(*grad)[3])
void getrho_blocked_gga (int nbast, const Dft::FullMatrix &dmat, const real *gao, const int *nblocks, const int(*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho, real(*grad)[3])
void getexp_blocked_lda (int nbast, const real *dmat, const real *gao, const int *nblocks, const int(*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho)
 Computes the expectation value <o|dmat|o'> for a nonsymmetric matrix and given set of precomputed orbital values gao.
void getexp_blocked_gga (int nbast, const real *dmat, const real *gao, const int *nblocks, const int(*iblocks)[2], int ldaib, real *tmp, int nvclen, real(*rgrad)[4])
 Computes the expectation value <o|dmat|o'> and its derivatives for a nonsymmetric matrix and given set of precomputed orbital values and their cartesian derivatives gao.

Detailed Description

Density and gradient evaluation interface.


Define Documentation

#define RHOMAT_HEADER   1

Function Documentation

void getexp_blocked_gga ( int  nbast,
const real dmat,
const real gao,
const int *  nblocks,
const int(*)  iblocks[2],
int  ldaib,
real tmp,
int  nvclen,
real(*)  rgrad[4] 
)

Computes the expectation value <o|dmat|o'> and its derivatives for a nonsymmetric matrix and given set of precomputed orbital values and their cartesian derivatives gao.

Sparsity of gao as determined with help of nblocks and iblocks is used to reduce the computational effort.

Parameters:
dmat full square symmetric matrix
nbast size of dmat
gao orbital matrix[4][nbast][nvclen]. First block [0][][] contains orbital values. Subsequent blocks - orbital derivatives wrt x,y, and z coordinates. Set values are determied by nblocks and iblocks, other values shall not be accessed.
nblocks number of nonzero row blocks in gao
iblocks ranges [a,b) of nonzero blocks in gao.
ldaib not used
tmp temporary matrix [nbast][nvclen]
nvclen batch length - number of columns in gao.
rgrad a vector of quartets where the computed expectation values and gradient values will be stored.

References zeroorbs().

void getexp_blocked_lda ( int  nbast,
const real dmat,
const real gao,
const int *  nblocks,
const int(*)  iblocks[2],
int  ldaib,
real tmp,
int  nvclen,
real rho 
)

Computes the expectation value <o|dmat|o'> for a nonsymmetric matrix and given set of precomputed orbital values gao.

Sparsity of gao as determined with help of nblocks and iblocks is used to reduce the computational effort.

Parameters:
dmat full square symmetric matrix
nbast size of dmat
gao orbital matrix[nbast][nvclen]. Set values are determied by nblocks and iblocks, other values shall not be accessed.
nblocks number of nonzero row blocks in gao
iblocks ranges [a,b) of nonzero blocks in gao.
ldaib not used
tmp temporary matrix [nbast][nvclen]
nvclen batch length - number of columns in gao.
rho the vector[nvclen] where the computed expectation values will be stored.

References zeroorbs().

Referenced by lin_resp_cb_b_lda().

void getrho_blocked_gga ( int  nbast,
const Dft::FullMatrix dmat,
const real gao,
const int *  nblocks,
const int(*)  iblocks[2],
int  ldaib,
real tmp,
int  nvclen,
real rho,
real(*)  grad[3] 
) [inline]
void getrho_blocked_gga ( int  nbast,
const real dmat,
const real gao,
const int *  nblocks,
const int(*)  iblocks[2],
int  ldaib,
real tmp,
int  nvclen,
real rho,
real(*)  grad[3] 
)
void getrho_blocked_lda ( int  nbast,
const Dft::FullMatrix m,
const real gao,
const int *  nblocks,
const int(*)  iblocks[2],
int  ldaib,
real tmp,
int  nvclen,
real rho 
) [inline]
void getrho_blocked_lda ( int  nbast,
const real dmat,
const real gao,
const int *  nblocks,
const int(*)  iblocks[2],
int  ldaib,
real tmp,
int  nvclen,
real rho 
)

Generated on 10 Jul 2018 for ergo by  doxygen 1.6.1