37#ifndef BASISINFO_HEADER
38#define BASISINFO_HEADER
69#define MAX_NO_OF_CONTR_GAUSSIANS 20
140 int do_normalization,
141 int skip_sort_shells);
150 int do_normalization,
151 int skip_sort_shells);
154 const char* basisset_filename_default,
159 int do_normalization,
160 int skip_sort_shells);
177 void write_to_buffer (
char * dataBuffer,
size_t const bufferSize )
const;
207 ergo_real exponent,
int shellType,
int use_6_d_funcs);
213#ifdef ERGO_ENABLE_DEPRECATED
217 const char* basisset_filename_default,
219 const char* ghost_molecule_basisset_filename,
224 int do_normalization,
225 int skip_sort_shells,
226 int skip_standard_basis);
227struct AtomInfoStruct_{
231typedef struct AtomInfoStruct_ AtomInfoStruct;
236 int do_normalization);
int get_basis_funcs(BasisInfoStruct *basisInfo, const IntegralInfo *integralInfo, int do_normalization)
#define MAX_NO_OF_CONTR_GAUSSIANS
Definition basisinfo.h:69
ergo_real getSafeMaxDistance(const BasisInfoStruct &basisInfo)
Compute safe upper limit for largest possible distance between any two basis functions in given basis...
Definition basisinfo.cc:974
int output_basisinfo(const BasisInfoStruct &basisInfo)
Definition basisinfo.cc:61
int get_simple_primitives_all(BasisInfoStruct *basisInfo, const IntegralInfo *integralInfo)
Code for representing basis set information for Gaussian basis sets, and for parsing a text file spec...
Contains coefficients needed for quick integral evaluation.
Definition integral_info.h:94
Representation of a molecule as a set of nuclei and total charge.
Definition molecule.h:87
int charge
Definition grid_test.cc:51
Defines IntegralInfo object, providing the coefficients needed for integral evaluation.
#define MAX_NO_OF_TERMS_IN_BASIS_FUNC_POLY
Definition integral_info.h:53
Class representing a molecule as a set of atoms with assiciated coordinates and charges of the atomic...
Definition of the main floating-point datatype used; the ergo_real type.
double ergo_real
Definition realtype.h:69
Simple atom representation by its charge and cartesian coordinates.
Definition molecule.h:51
Definition basisinfo.h:85
basis_func_term_struct poly[MAX_NO_OF_TERMS_IN_BASIS_FUNC_POLY]
Definition basisinfo.h:96
int noOfContr
Definition basisinfo.h:86
int functionNumber
Definition basisinfo.h:92
ergo_real coeffList[MAX_NO_OF_CONTR_GAUSSIANS]
Definition basisinfo.h:87
int simplePrimitiveIndex
Definition basisinfo.h:94
int noOfTermsInPolynomial
Definition basisinfo.h:95
int shellType
Definition basisinfo.h:91
int noOfSimplePrimitives
Definition basisinfo.h:93
ergo_real exponentList[MAX_NO_OF_CONTR_GAUSSIANS]
Definition basisinfo.h:88
ergo_real extent
Definition basisinfo.h:89
Vector3D centerCoords
Definition basisinfo.h:90
Definition basisinfo.h:112
int noOfBasisFuncs
Definition basisinfo.h:120
void write_to_buffer(char *dataBuffer, size_t const bufferSize) const
Function needed for Chunks&Tasks usage.
Definition basisinfo.cc:897
int addBasisfuncsForMolecule(const Molecule &molecule, const char *basisset_filename_default, int noOfRanges, const BasissetNameRange *rangeList, const IntegralInfo &integralInfo, int print_raw, int do_normalization, int skip_sort_shells)
Fills in BasisInfoStruct for given molecule and basisset_filename.
Definition basisinfo.cc:579
BasisInfoStruct * permuteShells(const int *shellMap, const IntegralInfo &ii) const
a factory method generating new BasisInfo struct with permuted shells and basis functions.
Definition basisinfo.cc:683
static int getNoOfBasisFuncsForAtomType(const basisset_info &basisset, const IntegralInfo &integralInfo, int atomCharge, int use_6_d_funcs)
Definition basisinfo.cc:655
DistributionSpecStruct * simplePrimitiveList
Definition basisinfo.h:123
int normalizeShells(const IntegralInfo &integralInfo)
Normalizes shells so that the overlap of each basis function with itself will be 1.
Definition basisinfo.cc:715
int noOfSimplePrimitives
Definition basisinfo.h:122
int get_basis_funcs()
creates list of 'basis functions', and set startIndexInMatrix for each shell.
Definition basisinfo.cc:792
void addBasisfuncsForPoint(ergo_real x, ergo_real y, ergo_real z, int shellType, ergo_real exponent, const IntegralInfo &integralInfo, int print_raw, int do_normalization, int skip_sort_shells)
Definition basisinfo.cc:429
void assign_from_buffer(char const *dataBuffer, size_t const bufferSize)
Function needed for Chunks&Tasks usage.
Definition basisinfo.cc:932
BasisInfoStruct(int use_6_d_funcs_=0)
Initializes all the fields to sane values.
Definition basisinfo.cc:869
int use_6_d_funcs
Whether to use 6 d-type basis functions instead of the usual 5 functions.
Definition basisinfo.h:113
~BasisInfoStruct()
Definition basisinfo.cc:963
int getSimplePrimitivesAll(const IntegralInfo &integralInfo)
Definition basisinfo.cc:831
size_t get_size() const
Function needed for Chunks&Tasks usage.
Definition basisinfo.cc:924
void addBasisfuncsForAtomList(const Atom *atomList, int noOfAtoms, const basisset_info &basissetDefault, int noOfRanges, const basis_set_range_struct *rangeList, const IntegralInfo &integralInfo, int print_raw, int do_normalization, int skip_sort_shells)
Definition basisinfo.cc:474
int noOfShells
Definition basisinfo.h:118
BasisFuncStruct * basisFuncList
Definition basisinfo.h:121
ShellSpecStruct * shellList
Definition basisinfo.h:119
Definition basisinfo.h:106
char * basisSetFileName
Definition basisinfo.h:109
int count
Definition basisinfo.h:108
int startAtomIndex
Definition basisinfo.h:107
Definition basisinfo.h:58
ergo_real limitingFactor
Definition basisinfo.h:63
ergo_real dmatElement
Definition basisinfo.h:64
DistributionSpecStruct distr
Definition basisinfo.h:65
int groupID
Definition basisinfo.h:62
int basisFuncIndex_1
Definition basisinfo.h:59
int pairIndex
Definition basisinfo.h:61
int basisFuncIndex_2
Definition basisinfo.h:60
Definition basisinfo.h:50
ergo_real extent
Definition basisinfo.h:53
ergo_real centerCoords[3]
x0, y0, z0
Definition basisinfo.h:54
char monomialInts[4]
nx, ny, nz
Definition basisinfo.h:55
ergo_real exponent
exponent alfa
Definition basisinfo.h:52
ergo_real coeff
Coefficient A.
Definition basisinfo.h:51
Definition basisinfo.h:71
int dummy
Definition basisinfo.h:82
ergo_real centerCoords[3]
Definition basisinfo.h:76
int shell_ID
Definition basisinfo.h:79
int shellType
Definition basisinfo.h:78
int startIndexInMatrix
Definition basisinfo.h:81
ergo_real sizeList[MAX_NO_OF_CONTR_GAUSSIANS]
Definition basisinfo.h:74
ergo_real coeffList[MAX_NO_OF_CONTR_GAUSSIANS]
Definition basisinfo.h:72
ergo_real exponentList[MAX_NO_OF_CONTR_GAUSSIANS]
Definition basisinfo.h:73
int noOfContr
Definition basisinfo.h:77
ergo_real padding
Definition basisinfo.h:75
int noOfBasisFuncs
Definition basisinfo.h:80
SquareFuncIntegrator()
Definition basisinfo.h:193
~SquareFuncIntegrator()
Definition basisinfo.h:198
ergo_real getShellFactor(const IntegralInfo &integralInfo, ergo_real exponent, int shellType, int use_6_d_funcs)
Definition basisinfo.cc:277
DistributionSpecStruct * productlist
Definition basisinfo.h:192
ergo_real computeIntegralOfSquareOfBasisFunc(const IntegralInfo &integralInfo, BasisFuncStruct *basisFunc, int use_6_d_funcs)
Definition basisinfo.cc:239
DistributionSpecStruct * list
Definition basisinfo.h:191
const int MAX_NO_OF_PRIMS
Definition basisinfo.h:190
A representation of Vector or point in cartesian space.
Definition molecule.h:60
Definition integral_info.h:63
Definition basisinfo.h:100
int count
Definition basisinfo.h:102
int startAtomIndex
Definition basisinfo.h:101
basisset_info * basisset
Definition basisinfo.h:103