ergo
|
Blocked version of orbtial evaluation routines. More...
Go to the source code of this file.
Defines | |
#define | DFT_MAX_BLLEN 192 |
Limit for the number of grid point batch length. | |
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. |
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 get_bf_vals(), get_bf_vals_derivs(), dft_get_orbs(), compute_grid_thread_func(), dft_integrate(), dft_lin_respao(), dft_get_xc(), dft_get_uxc(), 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 DFT_MAX_BLLEN, get_bf_vals(), get_bf_vals_derivs(), ShellSpecStruct_::centerCoords, and ShellSpecStruct_::startIndexInMatrix.
Referenced by integrate_density_and_energy(), dft_integrate(), and computeFermiContact().