source/integrals/integrals_general.cc File Reference

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

#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <errno.h>
#include <memory.h>
#include <time.h>
#include <stdarg.h>
#include "memorymanag.h"
#include "pi.h"
#include "output.h"
#include "utilities.h"
#include "boysfunction.h"
#include "integral_info.h"
#include "integrals_general.h"

Defines

#define K_MAX_DIM   44

Functions

int multiply_polynomials (ergo_real result[], polydeg1struct *polydeg1, int dim, ergo_real a[])
int get_product_simple_prims (const DistributionSpecStruct &primA_in, const DistributionSpecStruct &primB_in, 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)
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.

Detailed Description

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

Author:
: Elias Rudberg responsible

Define Documentation

#define K_MAX_DIM   44

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_in,
const DistributionSpecStruct primB_in,
DistributionSpecStruct  resultList[],
int  maxCount,
ergo_real  threshold 
)
int multiply_polynomials ( ergo_real  result[],
polydeg1struct polydeg1,
int  dim,
ergo_real  a[] 
)

Generated on 10 Jul 2018 for ergo by  doxygen 1.6.1