source/integrals/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.
ergo_real get_max_basis_func_abs_value (const BasisInfoStruct &basisInfo)
 Computes an estimate for the largest absolute value that any basis function takes.
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.

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

ergo_real compute_integral_of_simple_prim ( const DistributionSpecStruct distr  ) 
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 get_product_simple_primitives ( const BasisInfoStruct basisInfoA,
int  iA,
const BasisInfoStruct basisInfoB,
int  iB,
DistributionSpecStruct  resultList[],
int  maxCount,
ergo_real  threshold 
)
int get_product_simple_prims ( const DistributionSpecStruct primA,
const DistributionSpecStruct primB,
DistributionSpecStruct  resultList[],
int  maxCount,
ergo_real  threshold 
)
int multiply_polynomials ( ergo_real  result[],
polydeg1struct polydeg1,
int  dim,
ergo_real  a[] 
)

Variable Documentation

const int POLY_PRODUCT_MAX_DISTRS = 10000

Generated on 10 Jul 2018 for ergo by  doxygen 1.6.1