ergo
|
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) |
Functionality for working with the electron density as a function of space, for a given basis set and density matrix.
#define DISTR_CENTER_DIST_LIMIT 1e-22 |
Referenced by get_density().
#define EXPONENT_DIFF_LIMIT 1e-22 |
Referenced by get_density().
#define MAX_DISTR_IN_TEMP_LIST 888 |
Referenced by get_density(), and get_no_of_primitives_for_density().
#define MAX_DISTR_IN_TEMP_LIST 888 |
|
static |
References do_output(), LOG_AREA_MAIN, LOG_CAT_ERROR, pi, template_blas_erf(), template_blas_exp(), template_blas_pow(), and template_blas_sqrt().
Referenced by compute_integral_over_box().
|
static |
|
static |
References do_output(), DistributionSpecStruct::exponent, LOG_AREA_MAIN, LOG_CAT_ERROR, and DistributionSpecStruct::monomialInts.
Referenced by get_density().
int get_density | ( | const BasisInfoStruct & | basisInfo, |
const ergo_real * | dmat, | ||
ergo_real | cutoff, | ||
int | maxCountRho, | ||
DistributionSpecStruct * | resultRho | ||
) |
References DistributionSpecStruct::coeff, DISTR_CENTER_DIST_LIMIT, do_merge_sort_distrs(), do_output(), ergo_free(), ergo_malloc(), EXPONENT_DIFF_LIMIT, get_product_simple_primitives(), LOG_AREA_MAIN, LOG_CAT_ERROR, MAX_DISTR_IN_TEMP_LIST, BasisInfoStruct::noOfBasisFuncs, pi, template_blas_fabs(), and template_blas_sqrt().
int get_no_of_primitives_for_density | ( | ergo_real | cutoff, |
const ergo_real * | dmat, | ||
const BasisInfoStruct & | basisInfo | ||
) |
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 | ||
) |
References compute_integral_over_box().
ergo_real integrate_density_in_box_2 | ( | int | nPrims, |
DistributionSpecStruct * | rho, | ||
ergo_real * | minVect, | ||
ergo_real * | maxVect, | ||
std::vector< int > | monomialIntsAdd | ||
) |
References compute_integral_over_box().
Referenced by do_density_images().