ergo
|
Code for 1-electron integrals, computation of kinetic-energy matrix T. More...
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <errno.h>
#include <memory.h>
#include <time.h>
#include <stdarg.h>
#include "integrals_1el_kinetic.h"
#include "memorymanag.h"
#include "pi.h"
#include "output.h"
#include "utilities.h"
#include "boysfunction.h"
#include "integral_info.h"
#include "integrals_general.h"
#include "box_system.h"
#include "multipole.h"
#include "integrals_2el_single.h"
#include "integrals_1el_single.h"
#include "basis_func_pair_list_1el.h"
Functions | |
static void | do_derivative_of_simple_prim (const DistributionSpecStruct &prim, DistributionSpecStruct *resultList, int coord) |
ergo_real | simplePrimTintegral (const DistributionSpecStruct &prim1, const DistributionSpecStruct &prim2, int coord, ergo_real threshold) |
Computes the contribution to kinetic energy integral along the cartesian coordinate coord between two distributions prim1 and prim2. More... | |
int | compute_T_matrix_sparse_linear (const BasisInfoStruct &basisInfo, ergo_real threshold, ergo_real boxSize, int *nvaluesList, int **colindList, ergo_real **valuesList) |
int | compute_T_matrix_full (const BasisInfoStruct &basisInfo, ergo_real threshold, ergo_real *result) |
Variables | |
static const ergo_real | MATRIX_ELEMENT_THRESHOLD_VALUE = 1e-12 |
Code for 1-electron integrals, computation of kinetic-energy matrix T.
int compute_T_matrix_full | ( | const BasisInfoStruct & | basisInfo, |
ergo_real | threshold, | ||
ergo_real * | result | ||
) |
References compute_T_matrix_sparse_linear(), do_output(), ergo_free(), ergo_new, LOG_AREA_INTEGRALS, LOG_CAT_ERROR, and BasisInfoStruct::noOfBasisFuncs.
Referenced by compute_h_core_matrix_full(), and main().
int compute_T_matrix_sparse_linear | ( | const BasisInfoStruct & | basisInfo, |
ergo_real | threshold, | ||
ergo_real | boxSize, | ||
int * | nvaluesList, | ||
int ** | colindList, | ||
ergo_real ** | valuesList | ||
) |
References A, BasisInfoStruct::basisFuncList, BasisFuncStruct::centerCoords, distance(), do_output(), ergo_new, get_basis_func_extent_list(), get_basis_func_pair_list_simple(), get_largest_simple_integral(), LOG_AREA_UNDEFINED, LOG_CAT_ERROR, LOG_CAT_INFO, MATRIX_ELEMENT_THRESHOLD_VALUE, BasisInfoStruct::noOfBasisFuncs, BasisFuncStruct::noOfSimplePrimitives, BasisFuncStruct::simplePrimitiveIndex, BasisInfoStruct::simplePrimitiveList, simplePrimTintegral(), template_blas_fabs(), and template_blas_sqrt().
Referenced by compute_T_matrix_full(), and compute_T_sparse_linear().
|
static |
References DistributionSpecStruct::coeff, DistributionSpecStruct::exponent, and DistributionSpecStruct::monomialInts.
Referenced by simplePrimTintegral().
ergo_real simplePrimTintegral | ( | const DistributionSpecStruct & | prim1, |
const DistributionSpecStruct & | prim2, | ||
int | coord, | ||
ergo_real | threshold | ||
) |
Computes the contribution to kinetic energy integral along the cartesian coordinate coord between two distributions prim1 and prim2.
Note that this function is not strict wrt the effectiveThreshold parameter, the approximation is only proportional to its value but it can exceed it.
References DistributionSpecStruct::coeff, compute_integral_of_simple_prim(), do_derivative_of_simple_prim(), do_output(), get_product_simple_prims(), LOG_AREA_INTEGRALS, and LOG_CAT_ERROR.
Referenced by compute_T_matrix_sparse_linear().
|
static |
Referenced by compute_T_matrix_sparse_linear().