ergo
integrals_general.h File Reference

General functionality related to computation of integrals involving Gaussian basis functions. More...

#include "integral_info.h"
#include "basisinfo.h"

Go to the source code of this file.

Classes

struct  polydeg1struct
 

Functions

int get_product_simple_prims (const DistributionSpecStruct &primA, const DistributionSpecStruct &primB, DistributionSpecStruct resultList[], int maxCount, ergo_real threshold)
 
int get_product_simple_primitives (const BasisInfoStruct &basisInfoA, int iA, const BasisInfoStruct &basisInfoB, int iB, DistributionSpecStruct resultList[], int maxCount, ergo_real threshold)
 
ergo_real compute_integral_of_simple_prim (const DistributionSpecStruct &distr)
 
int multiply_polynomials (ergo_real result[], polydeg1struct *polydeg1, int dim, ergo_real a[])
 
ergo_real get_largest_simple_integral (const BasisInfoStruct &basisInfo)
 Computes the largest integral of any primitive in the basis set, when any x y z factors are ignored. More...
 
ergo_real get_max_basis_func_abs_value (const BasisInfoStruct &basisInfo)
 Computes an estimate for the largest absolute value that any basis function takes. More...
 
int get_basis_func_extent_list (const BasisInfoStruct &basisInfo, ergo_real *basisFuncExtentList, ergo_real maxAbsValue)
 Computes an "extent" for each basis function in the basis set. More...
 

Variables

const int POLY_PRODUCT_MAX_DISTRS = 10000
 

Detailed Description

General functionality related to computation of integrals involving Gaussian basis functions.

Author
: Elias Rudberg responsible

Function Documentation

int get_basis_func_extent_list ( const BasisInfoStruct &  basisInfo,
ergo_real *  basisFuncExtentList,
ergo_real  maxAbsValue 
)
ergo_real get_largest_simple_integral ( const BasisInfoStruct &  basisInfo)

Computes the largest integral of any primitive in the basis set, when any x y z factors are ignored.

This is useful for getting rough estimates of basis function extents.

References A, BasisInfoStruct::basisFuncList, compute_integral_of_simple_prim(), DistributionSpecStruct::monomialInts, BasisInfoStruct::noOfBasisFuncs, BasisFuncStruct::noOfSimplePrimitives, BasisFuncStruct::simplePrimitiveIndex, and BasisInfoStruct::simplePrimitiveList.

Referenced by compute_operator_matrix_sparse(), compute_T_matrix_sparse_linear(), and get_basis_func_pair_list_simple().

ergo_real get_max_basis_func_abs_value ( const BasisInfoStruct &  basisInfo)

Computes an estimate for the largest absolute value that any basis function takes.

Useful as "worst case" when you want to find out the largest contribution to the density that a basis function can be part of.

References BasisInfoStruct::basisFuncList, DistributionSpecStruct::coeff, BasisInfoStruct::noOfBasisFuncs, BasisFuncStruct::noOfSimplePrimitives, BasisFuncStruct::simplePrimitiveIndex, BasisInfoStruct::simplePrimitiveList, and template_blas_fabs().

Referenced by compute_extent_for_shells(), and get_product_distrs().

int multiply_polynomials ( ergo_real  result[],
polydeg1struct *  polydeg1,
int  dim,
ergo_real  a[] 
)

Variable Documentation