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 |
|
static |
Referenced by select_basis_set().
|
static |
References DistributionSpecStruct_::centerCoords, BasisFuncStruct_::centerCoords, DistributionSpecStruct_::coeff, basis_func_term_struct::coeff, BasisFuncStruct_::coeffList, define_basis_func_poly(), do_output(), DistributionSpecStruct_::exponent, BasisFuncStruct_::exponentList, BasisFuncStruct_::functionNumber, LOG_AREA_INTEGRALS, LOG_CAT_ERROR, MAX_NO_OF_PRIMITIVES_PER_BASIS_FUNC, monomial_info_struct::monomial_index_list, IntegralInfo::monomial_info, basis_func_term_struct::monomialID, 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, and BasisInfoStruct::noOfBasisFuncs.
Referenced by compute_J_by_boxes_linear(), compute_K_by_boxes(), and compute_V_linear().
int output_basisinfo | ( | const BasisInfoStruct & | basisInfo | ) |
|
static |
References basis_set_range_struct::basisset, and find_range_index().
Referenced by setup_shells_multi_basis(), and setup_shells_multi_basis_getcount().
|
static |
References basisset_struct::atoms, Molecule::atoms, Atom::charge, basisset_shell_struct::coeffList, ShellSpecStruct_::coeffList, basisset_shell_struct::contrCount, Atom::coords, do_output(), basisset_shell_struct::exponentList, ShellSpecStruct_::exponentList, SquareFuncIntegrator::getShellFactor(), LOG_AREA_INTEGRALS, LOG_CAT_ERROR, MAX_NO_OF_CONTR_GAUSSIANS, Molecule::noOfAtoms, ShellSpecStruct_::noOfBasisFuncs, ShellSpecStruct_::noOfContr, basisset_atom_struct::noOfShells, select_basis_set(), basisset_shell_struct::shell_ID, ShellSpecStruct_::shell_ID, ShellSpecStruct_::shellType, ShellSpecStruct_::startIndexInMatrix, and basisset_shell_struct::type.
Referenced by BasisInfoStruct::addBasisfuncsForMolecule().
|
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 basisset_struct::atoms, Molecule::atoms, Atom::charge, do_output(), LOG_AREA_INTEGRALS, LOG_CAT_ERROR, LOG_CAT_INFO, Molecule::noOfAtoms, basisset_atom_struct::noOfShells, and select_basis_set().
Referenced by BasisInfoStruct::addBasisfuncsForMolecule().
|
static |
Referenced by BasisInfoStruct::addBasisfuncsForMolecule().