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.
 
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

◆ compute_integral_of_simple_prim()

◆ get_basis_func_extent_list()

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

◆ get_largest_simple_integral()

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().

◆ get_max_basis_func_abs_value()

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().

◆ get_product_simple_primitives()

◆ get_product_simple_prims()

◆ multiply_polynomials()

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

Variable Documentation

◆ POLY_PRODUCT_MAX_DISTRS