Code for setting up basis functions starting from shells. More...
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <errno.h>
#include <memory.h>
#include <time.h>
#include <stdarg.h>
#include <string.h>
#include "basisinfo.h"
#include "basisset.h"
#include "memorymanag.h"
#include "pi.h"
#include "output.h"
#include "utilities.h"
#include "boysfunction.h"
#include "integral_info.h"
#include "integrals_general.h"
#include "machine_epsilon.h"
Functions | |
int | output_basisinfo (const BasisInfoStruct &basisInfo) |
static void | define_basis_func_poly (BasisFuncStruct *basisFunc, int polyIndex, const IntegralInfo &b) |
static void | define_basis_func_poly_special_6dfuncs (BasisFuncStruct *basisFunc, const IntegralInfo &b) |
static int | get_simple_primitives (BasisFuncStruct *currBasisFunc, DistributionSpecStruct *list, int nInput, int nListMax, const IntegralInfo &b, int use_6_d_funcs) |
static int | sort_shells (ShellSpecStruct *list, ShellSpecStruct *listTemp, int n) |
static int | find_range_index (int atomIndex, int noOfRanges, const basis_set_range_struct *rangeList) |
static const basisset_info * | select_basis_set (int atomIndex, int noOfRanges, const basis_set_range_struct *rangeList, const basisset_info *basissetDefault) |
static int | setup_shells_multi_basis_getcount (const Atom *atomList, int noOfAtoms, const basisset_info *basissetDefault, int noOfRanges, const basis_set_range_struct *rangeList) |
Returns number of shells needed to describe the electronic density for given molecule and basis set. | |
static int | setup_shells_multi_basis (const IntegralInfo &integralInfo, const Atom *atomList, int noOfAtoms, const basisset_info *basissetDefault, ShellSpecStruct *shell_list, int noOfShells, int noOfRanges, const basis_set_range_struct *rangeList, int use_6_d_funcs) |
ergo_real | getSafeMaxDistance (const BasisInfoStruct &basisInfo) |
Compute safe upper limit for largest possible distance between any two basis functions in given basis set. |
Code for setting up basis functions starting from shells.
static void define_basis_func_poly | ( | BasisFuncStruct * | basisFunc, | |
int | polyIndex, | |||
const IntegralInfo & | b | |||
) | [static] |
static void define_basis_func_poly_special_6dfuncs | ( | BasisFuncStruct * | basisFunc, | |
const IntegralInfo & | b | |||
) | [static] |
References basis_func_term_struct::coeff, BasisFuncStruct::functionNumber, monomial_info_struct::monomial_index_list, IntegralInfo::monomial_info, basis_func_term_struct::monomialID, basis_func_term_struct::monomialInts, BasisFuncStruct::noOfTermsInPolynomial, BasisFuncStruct::poly, and template_blas_sqrt().
Referenced by get_simple_primitives().
static int find_range_index | ( | int | atomIndex, | |
int | noOfRanges, | |||
const basis_set_range_struct * | rangeList | |||
) | [static] |
Referenced by select_basis_set().
static int get_simple_primitives | ( | BasisFuncStruct * | currBasisFunc, | |
DistributionSpecStruct * | list, | |||
int | nInput, | |||
int | nListMax, | |||
const IntegralInfo & | b, | |||
int | use_6_d_funcs | |||
) | [static] |
References BasisFuncStruct::centerCoords, DistributionSpecStruct::centerCoords, basis_func_term_struct::coeff, DistributionSpecStruct::coeff, BasisFuncStruct::coeffList, define_basis_func_poly(), define_basis_func_poly_special_6dfuncs(), do_output(), DistributionSpecStruct::exponent, BasisFuncStruct::exponentList, BasisFuncStruct::functionNumber, LOG_AREA_INTEGRALS, LOG_CAT_ERROR, basis_func_term_struct::monomialInts, BasisFuncStruct::noOfContr, BasisFuncStruct::noOfTermsInPolynomial, BasisFuncStruct::poly, and BasisFuncStruct::shellType.
Referenced by SquareFuncIntegrator::computeIntegralOfSquareOfBasisFunc(), and BasisInfoStruct::getSimplePrimitivesAll().
ergo_real getSafeMaxDistance | ( | const BasisInfoStruct & | basisInfo | ) |
Compute safe upper limit for largest possible distance between any two basis functions in given basis set.
References BasisInfoStruct::basisFuncList, BasisFuncStruct::centerCoords, BasisInfoStruct::noOfBasisFuncs, and template_blas_sqrt().
int output_basisinfo | ( | const BasisInfoStruct & | basisInfo | ) |
static const basisset_info* select_basis_set | ( | int | atomIndex, | |
int | noOfRanges, | |||
const basis_set_range_struct * | rangeList, | |||
const basisset_info * | basissetDefault | |||
) | [static] |
References basis_set_range_struct::basisset, and find_range_index().
Referenced by setup_shells_multi_basis(), and setup_shells_multi_basis_getcount().
static int setup_shells_multi_basis | ( | const IntegralInfo & | integralInfo, | |
const Atom * | atomList, | |||
int | noOfAtoms, | |||
const basisset_info * | basissetDefault, | |||
ShellSpecStruct * | shell_list, | |||
int | noOfShells, | |||
int | noOfRanges, | |||
const basis_set_range_struct * | rangeList, | |||
int | use_6_d_funcs | |||
) | [static] |
References basisset_info::atoms, charge, basisset_shell_struct::coeffList, ShellSpecStruct::coeffList, basisset_shell_struct::contrCount, do_output(), ShellSpecStruct::exponentList, basisset_shell_struct::exponentList, SquareFuncIntegrator::getShellFactor(), LOG_AREA_INTEGRALS, LOG_CAT_ERROR, MAX_NO_OF_CONTR_GAUSSIANS, ShellSpecStruct::noOfBasisFuncs, ShellSpecStruct::noOfContr, select_basis_set(), basisset_shell_struct::shell_ID, ShellSpecStruct::shell_ID, ShellSpecStruct::shellType, ShellSpecStruct::startIndexInMatrix, and basisset_shell_struct::type.
Referenced by BasisInfoStruct::addBasisfuncsForAtomList().
static int setup_shells_multi_basis_getcount | ( | const Atom * | atomList, | |
int | noOfAtoms, | |||
const basisset_info * | basissetDefault, | |||
int | noOfRanges, | |||
const basis_set_range_struct * | rangeList | |||
) | [static] |
Returns number of shells needed to describe the electronic density for given molecule and basis set.
atomList | list of atoms | |
noOfAtoms | the length of atomList | |
basissetDefault | the basis set to be used for all atoms but those specified by rangeList. | |
noOfRanges | the length of rangeList. | |
rangeList | A list of atoms that should get some other, specified basis set. |
References basisset_info::atoms, charge, do_output(), LOG_AREA_INTEGRALS, LOG_CAT_ERROR, LOG_CAT_INFO, and select_basis_set().
Referenced by BasisInfoStruct::addBasisfuncsForAtomList().
static int sort_shells | ( | ShellSpecStruct * | list, | |
ShellSpecStruct * | listTemp, | |||
int | n | |||
) | [static] |
Referenced by BasisInfoStruct::addBasisfuncsForAtomList().