ergo
|
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 int | define_basis_func_poly (BasisFuncStruct *basisFunc, int polyIndex, 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_struct * | select_basis_set (int atomIndex, int noOfRanges, const basis_set_range_struct *rangeList, const basisset_struct *basissetDefault) |
static int | setup_shells_multi_basis_getcount (const Molecule &molecule, const basisset_struct *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 Molecule &molecule, const basisset_struct *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 int define_basis_func_poly | ( | BasisFuncStruct * | basisFunc, |
int | polyIndex, | ||
const IntegralInfo & | b | ||
) | [static] |
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 MAX_NO_OF_PRIMITIVES_PER_BASIS_FUNC, do_output(), LOG_CAT_ERROR, LOG_AREA_INTEGRALS, BasisFuncStruct_::shellType, BasisFuncStruct_::noOfTermsInPolynomial, BasisFuncStruct_::functionNumber, BasisFuncStruct_::poly, basis_func_term_struct::coeff, basis_func_term_struct::monomialInts, basis_func_term_struct::monomialID, IntegralInfo::monomial_info, monomial_info_struct::monomial_index_list, define_basis_func_poly(), BasisFuncStruct_::noOfContr, DistributionSpecStruct_::coeff, BasisFuncStruct_::coeffList, DistributionSpecStruct_::exponent, BasisFuncStruct_::exponentList, DistributionSpecStruct_::centerCoords, and BasisFuncStruct_::centerCoords.
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, and BasisInfoStruct::noOfBasisFuncs.
Referenced by compute_V_linear(), compute_J_by_boxes_linear(), and compute_K_by_boxes().
int output_basisinfo | ( | const BasisInfoStruct & | basisInfo | ) |
static const basisset_struct* select_basis_set | ( | int | atomIndex, |
int | noOfRanges, | ||
const basis_set_range_struct * | rangeList, | ||
const basisset_struct * | basissetDefault | ||
) | [static] |
References find_range_index(), and basis_set_range_struct::basisset.
Referenced by setup_shells_multi_basis_getcount(), and setup_shells_multi_basis().
static int setup_shells_multi_basis | ( | const IntegralInfo & | integralInfo, |
const Molecule & | molecule, | ||
const basisset_struct * | basissetDefault, | ||
ShellSpecStruct * | shell_list, | ||
int | noOfShells, | ||
int | noOfRanges, | ||
const basis_set_range_struct * | rangeList, | ||
int | use_6_d_funcs | ||
) | [static] |
References Molecule::noOfAtoms, Molecule::atoms, Atom::charge, select_basis_set(), basisset_struct::atoms, basisset_atom_struct::noOfShells, do_output(), LOG_CAT_ERROR, LOG_AREA_INTEGRALS, ShellSpecStruct_::shellType, basisset_shell_struct::type, ShellSpecStruct_::noOfBasisFuncs, basisset_shell_struct::contrCount, MAX_NO_OF_CONTR_GAUSSIANS, ShellSpecStruct_::noOfContr, ShellSpecStruct_::shell_ID, basisset_shell_struct::shell_ID, Atom::coords, basisset_shell_struct::exponentList, ShellSpecStruct_::coeffList, basisset_shell_struct::coeffList, SquareFuncIntegrator::getShellFactor(), ShellSpecStruct_::exponentList, and ShellSpecStruct_::startIndexInMatrix.
Referenced by BasisInfoStruct::addBasisfuncsForMolecule().
static int setup_shells_multi_basis_getcount | ( | const Molecule & | molecule, |
const basisset_struct * | 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.
molecule | a molecule for which the shells are to be counted. |
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 Molecule::noOfAtoms, Molecule::atoms, Atom::charge, select_basis_set(), basisset_struct::atoms, basisset_atom_struct::noOfShells, do_output(), LOG_CAT_ERROR, LOG_AREA_INTEGRALS, and LOG_CAT_INFO.
Referenced by BasisInfoStruct::addBasisfuncsForMolecule().
static int sort_shells | ( | ShellSpecStruct * | list, |
ShellSpecStruct * | listTemp, | ||
int | n | ||
) | [static] |
Referenced by BasisInfoStruct::addBasisfuncsForMolecule().