ergo
basisinfo.cc File Reference

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_structselect_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.

Detailed Description

Code for setting up basis functions starting from shells.

Author:
: Elias Rudberg responsible.

Function Documentation

static int find_range_index ( int  atomIndex,
int  noOfRanges,
const basis_set_range_struct rangeList 
) [static]

Referenced by select_basis_set().

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().

static const basisset_struct* select_basis_set ( int  atomIndex,
int  noOfRanges,
const basis_set_range_struct rangeList,
const basisset_struct basissetDefault 
) [static]
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.

Parameters:
moleculea molecule for which the shells are to be counted.
basissetDefaultthe basis set to be used for all atoms but those specified by rangeList.
noOfRangesthe length of rangeList.
rangeListA list of atoms that should get some other, specified basis set.
Returns:
the number of basis set shells.

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]