ergo
densitymanager.cc File Reference

Functionality for working with the electron density as a function of space, for a given basis set and density matrix. More...

#include <stdlib.h>
#include <memory.h>
#include <math.h>
#include "memorymanag.h"
#include "output.h"
#include "densitymanager.h"
#include "pi.h"
#include "integrals_general.h"
#include "template_blas_common.h"

Macros

#define EXPONENT_DIFF_LIMIT   1e-22
 
#define DISTR_CENTER_DIST_LIMIT   1e-22
 
#define MAX_DISTR_IN_TEMP_LIST   888
 
#define MAX_DISTR_IN_TEMP_LIST   888
 

Functions

static ergo_real compute_1d_gaussian_integral_recursive (ergo_real a, ergo_real b, int n, ergo_real alpha)
 
static ergo_real compute_integral_over_box (DistributionSpecStruct *distr, ergo_real *minVect, ergo_real *maxVect, std::vector< int > monomialIntsAdd=std::vector< int >(3, 0))
 
ergo_real integrate_density_in_box (int nPrims, DistributionSpecStruct *rho, ergo_real mid_x, ergo_real mid_y, ergo_real mid_z, ergo_real box_width)
 
ergo_real integrate_density_in_box_2 (int nPrims, DistributionSpecStruct *rho, ergo_real *minVect, ergo_real *maxVect, std::vector< int > monomialIntsAdd)
 
int get_no_of_primitives_for_density (ergo_real cutoff, const ergo_real *dmat, const BasisInfoStruct &basisInfo)
 
static int do_merge_sort_distrs (int n, DistributionSpecStruct *list, DistributionSpecStruct *workList)
 
int get_density (const BasisInfoStruct &basisInfo, const ergo_real *dmat, ergo_real cutoff, int maxCountRho, DistributionSpecStruct *resultRho)
 

Detailed Description

Functionality for working with the electron density as a function of space, for a given basis set and density matrix.

Author
: Elias Rudberg responsible

Macro Definition Documentation

◆ DISTR_CENTER_DIST_LIMIT

#define DISTR_CENTER_DIST_LIMIT   1e-22

◆ EXPONENT_DIFF_LIMIT

#define EXPONENT_DIFF_LIMIT   1e-22

◆ MAX_DISTR_IN_TEMP_LIST [1/2]

#define MAX_DISTR_IN_TEMP_LIST   888

◆ MAX_DISTR_IN_TEMP_LIST [2/2]

#define MAX_DISTR_IN_TEMP_LIST   888

Function Documentation

◆ compute_1d_gaussian_integral_recursive()

static ergo_real compute_1d_gaussian_integral_recursive ( ergo_real  a,
ergo_real  b,
int  n,
ergo_real  alpha 
)
static

◆ compute_integral_over_box()

static ergo_real compute_integral_over_box ( DistributionSpecStruct distr,
ergo_real minVect,
ergo_real maxVect,
std::vector< int >  monomialIntsAdd = std::vector<int>(3, 0) 
)
static

◆ do_merge_sort_distrs()

static int do_merge_sort_distrs ( int  n,
DistributionSpecStruct list,
DistributionSpecStruct workList 
)
static

◆ get_density()

◆ get_no_of_primitives_for_density()

◆ integrate_density_in_box()

ergo_real integrate_density_in_box ( int  nPrims,
DistributionSpecStruct rho,
ergo_real  mid_x,
ergo_real  mid_y,
ergo_real  mid_z,
ergo_real  box_width 
)

◆ integrate_density_in_box_2()

ergo_real integrate_density_in_box_2 ( int  nPrims,
DistributionSpecStruct rho,
ergo_real minVect,
ergo_real maxVect,
std::vector< int >  monomialIntsAdd 
)