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"
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 |
#define EXPONENT_DIFF_LIMIT 1e-22 |
#define MAX_DISTR_IN_TEMP_LIST 888 |
#define MAX_DISTR_IN_TEMP_LIST 888 |
Referenced by get_density(), and get_no_of_primitives_for_density().
static ergo_real compute_1d_gaussian_integral_recursive | ( | ergo_real | a, | |
ergo_real | b, | |||
int | n, | |||
ergo_real | alpha | |||
) | [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 ergo_real compute_integral_over_box | ( | DistributionSpecStruct * | distr, | |
ergo_real * | minVect, | |||
ergo_real * | maxVect, | |||
std::vector< int > | monomialIntsAdd = std::vector<int>(3, 0) | |||
) | [static] |
static int do_merge_sort_distrs | ( | int | n, | |
DistributionSpecStruct * | list, | |||
DistributionSpecStruct * | workList | |||
) | [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().