ergo
BasisInfoStruct Struct Reference

#include <basisinfo.h>

Public Member Functions

 BasisInfoStruct (int use_6_d_funcs_=0)
 Initializes all the fields to sane values.
 
 BasisInfoStruct (const BasisInfoStruct &b)
 Copies values from another BasisInfoStruct.
 
 ~BasisInfoStruct ()
 
void addBasisfuncsForPoint (ergo_real x, ergo_real y, ergo_real z, int shellType, ergo_real exponent, const IntegralInfo &integralInfo, int print_raw, int do_normalization, int skip_sort_shells)
 
void addBasisfuncsForAtomList (const Atom *atomList, int noOfAtoms, const basisset_info &basissetDefault, int noOfRanges, const basis_set_range_struct *rangeList, const IntegralInfo &integralInfo, int print_raw, int do_normalization, int skip_sort_shells)
 
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)
 
void write_to_buffer (char *dataBuffer, size_t const bufferSize) const
 Function needed for Chunks&Tasks usage.
 
size_t get_size () const
 Function needed for Chunks&Tasks usage.
 
void assign_from_buffer (char const *dataBuffer, size_t const bufferSize)
 Function needed for Chunks&Tasks usage.
 

Static Public Member Functions

static int getNoOfBasisFuncsForAtomType (const basisset_info &basisset, const IntegralInfo &integralInfo, int atomCharge, int use_6_d_funcs)
 

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() [1/2]

BasisInfoStruct::BasisInfoStruct ( int use_6_d_funcs_ = 0)

◆ BasisInfoStruct() [2/2]

BasisInfoStruct::BasisInfoStruct ( const BasisInfoStruct & b)

◆ ~BasisInfoStruct()

BasisInfoStruct::~BasisInfoStruct ( )

Member Function Documentation

◆ addBasisfuncsForAtomList()

◆ addBasisfuncsForMolecule()

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
moleculecontains the description of the molecule geometry.
basisset_filename_defaultcontains 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.
noOfRangesthe length of rangeList.
rangeListis 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_shellsdisable the standard sorting of shells in the basis set with respect to atom type and exponent.
Returns
0 on success, -1 on failure.

References addBasisfuncsForAtomList(), BasissetNameRange::count, do_output(), ERGO_DATA_PREFIX, ERGO_SPREFIX, Molecule::getAtomListPtr(), Molecule::getNoOfAtoms(), LOG_AREA_INTEGRALS, LOG_CAT_ERROR, read_basisset_file(), and BasissetNameRange::startAtomIndex.

Referenced by calculation_shared(), get_energy(), grid_test_scaling(), grid_test_synchronisation(), main(), test_gradient_by_explicit_comparison(), test_mol(), test_S_V_comparison(), test_small(), test_small(), test_small(), test_V_by_explicit_comparison(), test_V_by_explicit_comparison_tight(), and try_integral_diffs().

◆ addBasisfuncsForPoint()

void BasisInfoStruct::addBasisfuncsForPoint ( ergo_real x,
ergo_real y,
ergo_real z,
int shellType,
ergo_real exponent,
const IntegralInfo & integralInfo,
int print_raw,
int do_normalization,
int skip_sort_shells )

◆ assign_from_buffer()

void BasisInfoStruct::assign_from_buffer ( char const * dataBuffer,
size_t const bufferSize )

Function needed for Chunks&Tasks usage.

References basisFuncList, noOfBasisFuncs, noOfShells, noOfSimplePrimitives, shellList, simplePrimitiveList, and use_6_d_funcs.

◆ get_basis_funcs()

◆ get_size()

size_t BasisInfoStruct::get_size ( ) const

Function needed for Chunks&Tasks usage.

References noOfBasisFuncs, noOfShells, and noOfSimplePrimitives.

Referenced by write_to_buffer().

◆ getNoOfBasisFuncsForAtomType()

int BasisInfoStruct::getNoOfBasisFuncsForAtomType ( const basisset_info & basisset,
const IntegralInfo & integralInfo,
int atomCharge,
int use_6_d_funcs )
static

◆ getSimplePrimitivesAll()

◆ normalizeShells()

int BasisInfoStruct::normalizeShells ( const IntegralInfo & integralInfo)

◆ permuteShells()

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

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

Parameters
shellMapvector defining the permutation of shells.

newShell(i) = this.shell(shellMap(i));

Parameters
iiIntegralInfo structure needed to reconstruct the primitive gaussian data.

References BasisInfoStruct(), do_output(), get_basis_funcs(), getSimplePrimitivesAll(), LOG_AREA_INTEGRALS, LOG_CAT_ERROR, noOfShells, shellList, and use_6_d_funcs.

Referenced by grid_test_scaling().

◆ write_to_buffer()

void BasisInfoStruct::write_to_buffer ( char * dataBuffer,
size_t const bufferSize ) const

Function needed for Chunks&Tasks usage.

References basisFuncList, get_size(), noOfBasisFuncs, noOfShells, noOfSimplePrimitives, shellList, simplePrimitiveList, and use_6_d_funcs.

Member Data Documentation

◆ basisFuncList

◆ noOfBasisFuncs

int BasisInfoStruct::noOfBasisFuncs

Referenced by addBasisfuncsForAtomList(), assign_from_buffer(), BasisInfoStruct(), BasisInfoStruct(), calculation_shared(), compute_2e_matrix_list_explicit(), compute_2e_matrix_simple(), compute_extent_for_all_basis_funcs_1el(), compute_extent_for_all_basis_funcs_core(), compute_extent_for_shells(), compute_gradient_of_nucl_and_trDV(), compute_h_core_matrix_full(), compute_h_core_matrix_simple_dense(), compute_h_core_matrix_sparse(), compute_integral_from_points(), compute_J_and_K_integraldriven(), compute_J_by_boxes(), compute_J_by_boxes_linear(), compute_J_by_boxes_nosymm(), compute_J_by_boxes_sparse(), compute_JK_single_box(), compute_K_by_boxes(), compute_K_by_boxes_dense(), compute_K_by_boxes_sparse(), compute_K_by_boxes_sparse_nosymm(), compute_operator_matrix_full(), compute_operator_matrix_sparse(), compute_operator_matrix_sparse_symm(), compute_overlap_matrix_sparse(), compute_R_matrix_sparse(), compute_T_matrix_full(), compute_T_matrix_sparse_linear(), compute_T_sparse_linear(), compute_V_matrix_full(), compute_V_sparse(), compute_V_sparse_hierarchical(), computeFermiContact(), create_CSR_for_K(), create_mtx_files_with_different_orderings(), ddf_writeShellListAndDensityMatricesToFile(), ddf_writeShellListAndDensityMatricesToFile_sparse(), dft_get_uxc(), dft_get_xc(), dft_integrate(), dft_integrator_bl_new(), dft_lin_respao(), do_CI(), do_tdhf_dynamics(), get_2e_matrices_and_energy_restricted_open(), get_2e_matrices_and_energy_simple_sparse_unrestricted(), get_2e_matrices_and_energy_sparse_unrestricted(), get_2e_matrix_and_energy_simple_sparse(), get_2e_matrix_and_energy_sparse(), get_basis_func_extent_list(), get_basis_func_pair_list_1el_for_V(), get_basis_func_pair_list_2el(), get_basis_func_pair_list_simple(), get_basis_funcs(), get_bf_vals_derivs(), get_density(), get_density(), get_dipole_moment_fullmat(), get_energy(), get_gradient_using_explicit_integrals(), get_JK_contribs_from_2_interacting_boxes(), get_largest_simple_integral(), ExponentList::get_list_of_available_exponents(), get_list_of_labeled_distrs(), get_list_of_labeled_distrs_maxLimitingFactor(), get_M(), get_max_basis_func_abs_value(), get_maxLimitingFactor(), get_mulliken_charges(), get_no_of_primitives_for_density(), get_product_distrs(), get_size(), getMatrixPermutation(), getMatrixPermutationOnlyFactor2(), getNoOfBasisFuncsForAtomType(), getSafeMaxDistance(), getSimplePrimitivesAll(), grid_generate_sparse_pattern(), grid_test_scaling(), hicu_grid_generate(), integrate_density_and_energy(), load_density_and_project_full(), load_density_and_project_sparse(), main(), output_orbital_coeffs_in_gabedit_order(), output_orbital_coeffs_in_gabedit_order(), SCF::MatOptions::prepare(), preparePermutations(), preparePermutations(), preparePermutationsHML(), preparePermutationsHML(), save_symmetric_matrix(), test_gradient_by_explicit_comparison(), test_mol(), test_small(), test_small(), test_small(), test_V_by_explicit_comparison(), test_V_by_explicit_comparison_tight(), try_integral_diffs(), write_2el_integral_m_file(), write_basis_func_coord_file(), and write_to_buffer().

◆ noOfShells

◆ noOfSimplePrimitives

◆ shellList

◆ simplePrimitiveList

◆ use_6_d_funcs

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.

Referenced by addBasisfuncsForAtomList(), assign_from_buffer(), BasisInfoStruct(), BasisInfoStruct(), getNoOfBasisFuncsForAtomType(), getSimplePrimitivesAll(), normalizeShells(), permuteShells(), and write_to_buffer().


The documentation for this struct was generated from the following files: