ergo
sparse_matrix.h File Reference

Declares a sparse matrix optimized for the XC code. More...

#include <stdio.h>
#include <vector>
#include <algorithm>
#include "realtype.h"
#include "matrix_typedefs.h"
#include "basisinfo.h"
#include "sparse_pattern.h"

Go to the source code of this file.

Classes

class  SparseMatrix
 Sparse matrix structure optimized for XC data access pattern. More...
 
class  SparseMatrix::Exception
 

Functions

void getrho_blocked_lda (int nbast, const Dft::SparseMatrix &dmat, const ergo_real *gao, const int *nblocks, const int(*iblocks)[2], int ldaib, ergo_real *tmp, int nvclen, ergo_real *rho)
 
void getrho_blocked_gga (int nbast, const Dft::SparseMatrix &dmat, const ergo_real *gao, const int *nblocks, const int(*iblocks)[2], int ldaib, ergo_real *tmp, int nvclen, ergo_real *rho, ergo_real(*grad)[3])
 

Detailed Description

Declares a sparse matrix optimized for the XC code.

The object provides methods for fast preallocation of the matrix elements, and some matrix elements iterators as needed for the numerical matrix element integration schemes.

Function Documentation

◆ getrho_blocked_gga()

void getrho_blocked_gga ( int  nbast,
const Dft::SparseMatrix &  dmat,
const ergo_real gao,
const int *  nblocks,
const int(*)  iblocks[2],
int  ldaib,
ergo_real tmp,
int  nvclen,
ergo_real rho,
ergo_real(*)  grad[3] 
)

References zeroorbs().

◆ getrho_blocked_lda()

void getrho_blocked_lda ( int  nbast,
const Dft::SparseMatrix &  dmat,
const ergo_real gao,
const int *  nblocks,
const int(*)  iblocks[2],
int  ldaib,
ergo_real tmp,
int  nvclen,
ergo_real rho 
)

References zeroorbs().