ergo
|
Blocked version of orbtial evaluation routines. More...
Go to the source code of this file.
Macros | |
#define | DFT_MAX_BLLEN 192 |
Limit for the number of grid point batch length. More... | |
Functions | |
void | dft_get_orbs (int nvclen, ergo_real *gao, const ergo_real(*coor)[3], int nblcnt, int(*iblcks)[2], int nder, const BasisInfoStruct &bis) |
Computes values of basis functions at specified points in space. More... | |
Blocked version of orbtial evaluation routines.
#define DFT_MAX_BLLEN 192 |
Limit for the number of grid point batch length.
Should not be too short because the loop overhead will grow too large, nor too long because we run out of cache then.
Referenced by compute_grid_thread_func(), dft_get_orbs(), dft_get_uxc(), dft_get_xc(), dft_integrate(), dft_lin_respao(), get_bf_vals(), get_bf_vals_derivs(), and XCEvaluatorRestricted::getXC().
void dft_get_orbs | ( | int | nvclen, |
ergo_real * | gao, | ||
const ergo_real(*) | coor[3], | ||
int | nblcnt, | ||
int(*) | iblcks[2], | ||
int | nder, | ||
const BasisInfoStruct & | bis | ||
) |
Computes values of basis functions at specified points in space.
Only b.fs specified by iblcks[nblcnt] are computed.
nvclen | number of points to consider. IT must be smaller than DFT_MAX_BLLEN. |
gao | matrix of computed b.f, values. Dimension is in C convention: [nderivatives][nvclen], where nderivatives is 1 for nder==0, 4 for nder==1. |
coor | point coordinates. |
nblcnt | so many continous blocks of basis functions will be computed. |
iblcks | start and end indices of the b.fs shells. Computed shells are [iblcks[0], iblcks[1]). |
nder | whether orbital derivatives are to be computed as well. Allowed values are 0 (no derivatives) and 1 (values and first order derivatives). |
bis | structure describing the basis functions to be evaluated. |
References ShellSpecStruct::centerCoords, DFT_MAX_BLLEN, get_bf_vals(), get_bf_vals_derivs(), and ShellSpecStruct::startIndexInMatrix.
Referenced by computeFermiContact(), dft_integrate(), and integrate_density_and_energy().