BasisInfoStruct Struct Reference

#include <basisinfo.h>

List of all members.

Public Member Functions

 BasisInfoStruct (int use_6_d_funcs_=0)
 Initializes all the fields to sane values.
 ~BasisInfoStruct ()
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.
BasisInfoStructpermuteShells (const int *shellMap, const IntegralInfo &ii) const
 a factory method generating new BasisInfo struct with permuted shells and basis functions.
int normalizeShells (const IntegralInfo &integralInfo)
 Normalizes shells so that the overlap of each basis function with itself will be 1.
int get_basis_funcs ()
 creates list of 'basis functions', and set startIndexInMatrix for each shell.
int getSimplePrimitivesAll (const IntegralInfo &integralInfo)

Public Attributes

int use_6_d_funcs
 Whether to use 6 d-type basis functions instead of the usual 5 functions.
int noOfShells
ShellSpecStructshellList
int noOfBasisFuncs
BasisFuncStructbasisFuncList
int noOfSimplePrimitives
DistributionSpecStructsimplePrimitiveList


Constructor & Destructor Documentation

BasisInfoStruct::BasisInfoStruct ( int  use_6_d_funcs_ = 0  )  [inline]

Initializes all the fields to sane values.

BasisInfoStruct::~BasisInfoStruct (  )  [inline]


Member Function Documentation

int BasisInfoStruct::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.

It can be called several times to add basis functions for ghost molecules.

Parameters:
molecule contains the description of the molecule geometry.
basisset_filename_default contains the name of the basis set that will be used for atoms that have no basis set specified in rangeList. A number of directories will be searched for the given basis.
noOfRanges the length of rangeList.
rangeList is a list of basis sets associated with ranges of atoms that should get non-default basis set.
integralInfo - the core structure for integral evaluation, needed for basis set normalization.
print_raw - whether the basis set as read should be printed.
do_normalization - whether the contraction coefficients in front of exponentials are to be normalized.
skip_sort_shells disable the standard sorting of shells in the basis set with respect to atom type and exponent.
Returns:
0 on success, -1 on failure.

int BasisInfoStruct::get_basis_funcs (  ) 

creates list of 'basis functions', and set startIndexInMatrix for each shell.

int BasisInfoStruct::getSimplePrimitivesAll ( const IntegralInfo integralInfo  ) 

int BasisInfoStruct::normalizeShells ( const IntegralInfo integralInfo  ) 

Normalizes shells so that the overlap of each basis function with itself will be 1.

This is done by explicitly generating each basis function in each shell and computing the overlap. It is verified that all functions within the same shell have the same normalization factor.

BasisInfoStruct * BasisInfoStruct::permuteShells ( const int *  shellMap,
const IntegralInfo ii 
) const

a factory method generating new BasisInfo struct with permuted shells and basis functions.

Parameters:
shellMap vector defining the permutation of shells.
newShell(i) = this.shell(shellMap(i));

Parameters:
ii IntegralInfo structure needed to reconstruct the primitive gaussian data.


Member Data Documentation

BasisFuncStruct* BasisInfoStruct::basisFuncList

int BasisInfoStruct::noOfBasisFuncs

int BasisInfoStruct::noOfShells

int BasisInfoStruct::noOfSimplePrimitives

ShellSpecStruct* BasisInfoStruct::shellList

DistributionSpecStruct* BasisInfoStruct::simplePrimitiveList

int BasisInfoStruct::use_6_d_funcs

Whether to use 6 d-type basis functions instead of the usual 5 functions.

This option exists to make it possible to get results compatible with other codes that have d-type functions defined in that way.


The documentation for this struct was generated from the following files:
Generated on Wed Nov 21 09:32:12 2012 for ergo by  doxygen 1.4.7