Go to the documentation of this file.
34 #ifndef _INTEGRATOR_H_
35 #define _INTEGRATOR_H_
61 #define BASBLOCK(grid,isym) ((grid)->basblocks + (isym)*(grid)->shl_bl_cnt)
98 int bllen,
int blstart,
int blend,
int bas_bl_cnt[8]
Definition: integrator.h:58
int(* shlblocks)[2]
Definition: integrator.h:59
int noOfBasisFuncs
Definition: basisinfo.h:120
Common DFT routines. Mostly functional mixing.
real * a
Definition: integrator.h:78
real(* grad)[3]
Definition: integrator.h:82
#define DFT_MAX_BLLEN
Limit for the number of grid point batch length.
Definition: aos.h:41
double ergo_real
Definition: realtype.h:69
Ergo specific implementation of molecule-grid interface.
Definition: dft_common.h:95
int needlap
Definition: integrator.h:91
void dft_integrator_bl_free(DftIntegratorBl *res)
Definition: integrator.cc:151
#define END_NAMESPACE(x)
Definition: sparse_pattern.h:42
Dft::Matrix * createGridMatrix(const Dft::FullMatrix &mat)
Definition: grid_reader.cc:78
struct DftIntegratorBl_::@0::@2 ho
int dogga
Definition: integrator.h:91
Sparse matrix structure optimized for XC data access pattern.
Definition: sparse_matrix.h:56
real integrate(int ndmat, const FullMatrix *const *dmat, const BasisInfoStruct &bis, const Molecule &mol, const Dft::GridParams &gss, int nThreads, DftBlockCallback cb, void *cb_data)
int london_off
Definition: integrator.h:68
Definition: grid_matrix.h:53
Definition: basisinfo.h:112
ergo_real real
Definition: test.cc:46
static real dft_integrate(int ndmat, const DensityType *const *dmat, const BasisInfoStruct &bis, const Molecule &mol, const Dft::GridParams &gss, int nThreads, DftBlockCallback cb, void *cb_data)
Definition: integrator.cc:187
int needgb
Definition: integrator.h:91
DftIntegratorBl * dft_integrator_bl_new(Functional *f, int ndmat, int bllen, int needlondon, const BasisInfoStruct &bis)
Definition: integrator.cc:109
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.
Definition: aos.cc:193
Definition: integrator.h:49
int curr_point
Definition: integrator.h:89
real * weight
Definition: integrator.h:52
static void output_memory_usage(bool &a)
Definition: integrator.cc:173
union DftIntegratorBl_::@1 g
A structure describing the grid settings.
Definition: grid_params.h:59
int ntypso
Definition: integrator.h:63
union DftIntegratorBl_::@0 r
real * b
Definition: integrator.h:78
Streaming grid generator.
real curr_weight
Definition: integrator.h:90
ergo_long_real long_real
Definition: integrator.h:43
ergo_real real
Definition: integrator.h:42
void(* DftBlockCallback)(DftIntegratorBl *grid, real *tmp, int bllen, int blstart, int blend, void *cb_data)
Definition: integrator.h:97
DftIntegratorBl * dft_integrator_bl_new(Functional *f, int ndmat, int bllen, int needlondon, const BasisInfoStruct &bis)
Definition: integrator.cc:109
int noOfShells
Definition: basisinfo.h:118
struct DftIntegratorBl_::@1::@3 rad
#define dal_new(sz, tp)
Definition: dft_common.h:125
int sync_threads(bool release, int nThreads)
creates or destroys a barrier for nThreads.
Definition: dft_common.cc:137
#define dal_malloc(sz)
Definition: dft_common.h:128
DftGridReader * grid_open_full(const class GridGenMolInfo *mol_info, const Dft::GridParams &gss, Dft::SparsePattern *pattern, const Dft::Matrix *dmat, const BasisInfoStruct &bis)
Returns a handle to a grid file.
Definition: grid_reader.cc:282
IsGGAFunc is_gga
Definition: functionals.h:403
Definition: functionals.h:401
Definition: allocate.cc:39
#define FSYM(a)
Definition: dft.h:74
void dft_integrator_bl_free(DftIntegratorBl *res)
Definition: integrator.cc:151
Header file with typedefs for matrix and vector types. The levels of hierarchic matrices are defined ...
Code for setting up basis functions starting from shells.
int nbast
Definition: integrator.h:72
Functional * selected_func
Definition: functionals.c:106
real * rho
Definition: integrator.h:76
int grid_getchunk_blocked(DftGridReader *rawgrid, int maxlen, int *nBlocks, int *shlBlocks, real(*coor)[3], real *weight)
grid_getchunk_blocked() reads grid data also with screening information if only nblocks and shlblocks...
Definition: grid_reader.cc:325
real dfthri
Definition: integrator.h:57
#define GRID_BUFF_SZ
the DFT grid buffer length.
Definition: integrator.cc:91
void output_current_memory_usage(int logArea, const char *contextString)
Definition: output.cc:186
real * atv
Definition: integrator.h:53
Definition: grid_reader.cc:166
real tgrad[3]
Definition: integrator.h:88
Representation of a molecule as a set of nuclei and total charge.
Definition: molecule.h:87
int(* basblocks)[2]
Definition: integrator.h:60
real integrate(int ndmat, const FullMatrix *const *dmat, const BasisInfoStruct &bis, const Molecule &mol, const Dft::GridParams &gss, int nThreads, DftBlockCallback cb, void *cb_data)
reads the grid and calls the callback function for each group of grid points.
Definition: integrator.cc:292
void grid_close(DftGridReader *rawgrid)
Closes the shared grid handle that is specifed as the argument.
Definition: grid_reader.cc:386
struct DftIntegratorBl_ DftIntegratorBl
int blocksz_t
Definition: integrator.cc:84
Definition: grid_matrix.h:42
int ndmat
Definition: integrator.h:71
int nsym
Definition: integrator.h:58
void blgetsos_(int *nvclen, real GSO[], real COOR[], int *NBLCNT, int IBLCKS[], real WORK[], int *LWORK, int *NBAST, int *DOLND, int *DOGGA, real *DFTHRI, const int *IPRINT)
Definition: grid_matrix.h:44
Grid Generator interface. Functions for opening grid file, reading chunks from it,...
#define LOG_AREA_DFT
Definition: output.h:62
real(* coor)[3]
Definition: integrator.h:51
Functionality for writing output messages to a text file.
int shl_bl_cnt
Definition: integrator.h:58
void getrho_blocked_gga(int nbast, const real *dmat, const real *restrict gao, const int *nblocks, const int(*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho, real(*grad)[3])
Computes the expectation value <o|dmat|o'> and its derivatives for a symmetric matrix and given set o...
Definition: rho-mat.cc:187
void getrho_blocked_lda(int nbast, const real *dmat, const real *restrict 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 symmetric matrix and given set of precomputed orbita...
Definition: rho-mat.cc:94
#define BEGIN_NAMESPACE(x)
Definition: sparse_pattern.h:41
double ergo_long_real
Definition: realtype.h:70
void ergoShellsToOrbs(const int *nshlbl, const int(*shlblock)[2], int *norbbl, int(*orbblock)[2], const BasisInfoStruct &bis)
transform shell block indices to orbital block indices.
Definition: dft_common.cc:708