ergo
rho-mat.h File Reference

Density and gradient evaluation interface. More...

#include "grid_matrix.h"

Go to the source code of this file.

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. More...
 
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. More...
 

Detailed Description

Density and gradient evaluation interface.

Function Documentation

◆ getexp_blocked_gga()

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
dmatfull square symmetric matrix
nbastsize of dmat
gaoorbital 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.
nblocksnumber of nonzero row blocks in gao
iblocksranges [a,b) of nonzero blocks in gao.
ldaibnot used
tmptemporary matrix [nbast][nvclen]
nvclenbatch length - number of columns in gao.
rgrada vector of quartets where the computed expectation values and gradient values will be stored.

References zeroorbs().

◆ getexp_blocked_lda()

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
dmatfull square symmetric matrix
nbastsize of dmat
gaoorbital matrix[nbast][nvclen]. Set values are determied by nblocks and iblocks, other values shall not be accessed.
nblocksnumber of nonzero row blocks in gao
iblocksranges [a,b) of nonzero blocks in gao.
ldaibnot used
tmptemporary matrix [nbast][nvclen]
nvclenbatch length - number of columns in gao.
rhothe vector[nvclen] where the computed expectation values will be stored.

References zeroorbs().

Referenced by lin_resp_cb_b_lda().

◆ getrho_blocked_gga() [1/2]

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] 
)

Referenced by getrho_blocked_gga().

◆ getrho_blocked_gga() [2/2]

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

◆ getrho_blocked_lda() [1/2]

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 
)

Referenced by getrho_blocked_lda().

◆ getrho_blocked_lda() [2/2]

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