ergo
BasisInfoStruct Struct Reference

#include <basisinfo.h>

Public Member Functions

 BasisInfoStruct (int use_6_d_funcs_=0)
 Initializes all the fields to sane values. More...
 
 BasisInfoStruct (const BasisInfoStruct &b)
 Copies values from another BasisInfoStruct. More...
 
 ~BasisInfoStruct ()
 
void addBasisfuncsForAtomList (const Atom *atomList, int noOfAtoms, const basisset_struct *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. More...
 
BasisInfoStructpermuteShells (const int *shellMap, const IntegralInfo &ii) const
 a factory method generating new BasisInfo struct with permuted shells and basis functions. More...
 
int normalizeShells (const IntegralInfo &integralInfo)
 Normalizes shells so that the overlap of each basis function with itself will be 1. More...
 
int get_basis_funcs ()
 creates list of 'basis functions', and set startIndexInMatrix for each shell. More...
 
int getSimplePrimitivesAll (const IntegralInfo &integralInfo)
 
void write_to_buffer (char *dataBuffer, size_t const bufferSize) const
 Function needed for Chunks&Tasks usage. More...
 
size_t get_size () const
 Function needed for Chunks&Tasks usage. More...
 
void assign_from_buffer (char const *dataBuffer, size_t const bufferSize)
 Function needed for Chunks&Tasks usage. More...
 

Public Attributes

int use_6_d_funcs
 Whether to use 6 d-type basis functions instead of the usual 5 functions. More...
 
int noOfShells
 
ShellSpecStructshellList
 
int noOfBasisFuncs
 
BasisFuncStructbasisFuncList
 
int noOfSimplePrimitives
 
DistributionSpecStructsimplePrimitiveList
 

Constructor & Destructor Documentation

BasisInfoStruct::BasisInfoStruct ( int  use_6_d_funcs_ = 0)

Initializes all the fields to sane values.

BasisInfoStruct::BasisInfoStruct ( const BasisInfoStruct b)
BasisInfoStruct::~BasisInfoStruct ( )

Member Function Documentation

void BasisInfoStruct::addBasisfuncsForAtomList ( const Atom atomList,
int  noOfAtoms,
const basisset_struct basissetDefault,
int  noOfRanges,
const basis_set_range_struct rangeList,
const IntegralInfo integralInfo,
int  print_raw,
int  do_normalization,
int  skip_sort_shells 
)
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 basis_set_range_struct::basisset, basis_set_range_struct::count, BasissetNameRange::count, do_output(), ERGO_DATA_PREFIX, ERGO_SPREFIX, Molecule::getAtomListPtr(), Molecule::getNoOfAtoms(), LOG_AREA_INTEGRALS, LOG_CAT_ERROR, read_basisset_file(), basis_set_range_struct::startAtomIndex, and BasissetNameRange::startAtomIndex.

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

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

Function needed for Chunks&Tasks usage.

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

size_t BasisInfoStruct::get_size ( ) const

Function needed for Chunks&Tasks usage.

References noOfBasisFuncs, noOfShells, and noOfSimplePrimitives.

Referenced by write_to_buffer().

int BasisInfoStruct::normalizeShells ( const IntegralInfo integralInfo)

Normalizes shells so that the overlap of each basis function with itself will be 1.

This is done by explicitly generating each basis function in each shell and computing the overlap. It is verified that all functions within the same shell have the same normalization factor.

References ShellSpecStruct_::centerCoords, BasisFuncStruct_::centerCoords, ShellSpecStruct_::coeffList, BasisFuncStruct_::coeffList, SquareFuncIntegrator::computeIntegralOfSquareOfBasisFunc(), do_output(), ShellSpecStruct_::exponentList, BasisFuncStruct_::exponentList, BasisFuncStruct_::functionNumber, get_machine_epsilon(), LOG_AREA_INTEGRALS, LOG_CAT_ERROR, LOG_CAT_INFO, ShellSpecStruct_::noOfBasisFuncs, ShellSpecStruct_::noOfContr, BasisFuncStruct_::noOfContr, ShellSpecStruct_::shellType, and BasisFuncStruct_::shellType.

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 do_output(), get_basis_funcs(), getSimplePrimitivesAll(), LOG_AREA_INTEGRALS, LOG_CAT_ERROR, noOfShells, and shellList.

Referenced by grid_test_scaling(), and XCEvaluator::XCEvaluator().

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, and simplePrimitiveList.

Member Data Documentation

int BasisInfoStruct::noOfBasisFuncs

Referenced by SCF_restricted::add_random_disturbance_to_starting_guess(), SCF_unrestricted::add_random_disturbance_to_starting_guess(), assign_from_buffer(), BasisInfoStruct(), calculation_shared(), compute_2e_matrix_coulomb(), compute_2e_matrix_list(), compute_2e_matrix_list_difden(), 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_gamma_or_J_shelldriven(), 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_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(), compute_T_sparse(), compute_V_matrix_full(), compute_V_sparse(), computeFermiContact(), create_CSR_for_K(), SCF_restricted::create_gabedit_file(), SCF_restricted::create_homo_eigvec_file(), SCF_restricted::create_lumo_eigvec_file(), ddf_writeShellListAndDensityMatricesToFile(), ddf_writeShellListAndDensityMatricesToFile_sparse(), densfit_compute_alpha_beta_matrix_inverse(), densfit_compute_c_vector(), densfit_compute_gamma(), densfit_compute_J(), densfit_init(), dft_get_uxc(), dft_get_xc(), dft_integrate(), dft_integrator_bl_new(), dft_lin_respao(), SCF_restricted::disturb_dens_matrix_exact_try(), SCF_restricted::disturb_fock_matrix(), do_CI(), SCF_general::do_SCF_iterations(), SCF_unrestricted::do_spin_flip(), do_tdhf_dynamics(), es_get_polarisability(), es_getexc(), es_run(), execute_joblist_K_serial(), execute_joblist_K_thread_func(), execute_joblist_K_threaded(), 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(), SCF_restricted::get_2e_part_and_energy(), SCF_unrestricted::get_2e_part_and_energy(), get_basis_func_extent_list(), get_basis_func_pair_list_1el(), get_basis_func_pair_list_2el(), get_bf_vals_derivs(), get_density(), SCF_restricted::get_FDSminusSDF(), SCF_unrestricted::get_FDSminusSDF(), get_gradient_using_explicit_integrals(), get_JK_contribs_from_2_interacting_boxes(), get_joblists_J_for_two_boxes_recursive(), get_K_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(), SCF_restricted::get_new_density_matrix(), SCF_unrestricted::get_new_density_matrix(), get_no_of_primitives_for_density(), get_product_distrs(), get_size(), SCF_restricted::get_starting_guess_density(), SCF_unrestricted::get_starting_guess_density(), getMatrixPermutation(), getMatrixPermutationOnlyFactor2(), getSafeMaxDistance(), grid_generate_sparse_pattern(), grid_test_scaling(), hicu_grid_generate(), integrate_density_and_energy(), SparsePattern::load(), load_density_and_project_full(), load_density_and_project_sparse(), main(), SCF_restricted::output_csr_matrices_for_gao(), SCF_restricted::output_density_images(), SCF_unrestricted::output_density_images(), output_distance_vs_magnitude(), output_orbital_coeffs_in_gabedit_order(), SCF_restricted::output_sparsity_S_F_D(), SCF_unrestricted::output_sparsity_S_F_D(), SCF::MatOptions::prepare(), SCF_restricted::prepare_stochastic_orbitals(), preparePermutations(), SparsePattern::save(), SCF_restricted::save_full_matrices_for_matlab(), save_symmetric_matrix(), saveCoulomb(), saveDipole(), saveKinetic(), saveOverlap(), savePotential(), saveXC(), SCF_general::SCF_general(), SparsePattern::size(), SparsePattern::sizeTotal(), test_gradient_by_explicit_comparison(), test_mol(), test_small(), test_V_by_explicit_comparison(), test_V_by_explicit_comparison_tight(), ErgoE2Evaluator::transform(), try_integral_diffs(), write_2el_integral_m_file(), write_basis_func_coord_file(), SCF_restricted::write_diag_dens_to_file(), SCF_unrestricted::write_diag_dens_to_file(), and write_to_buffer().

int BasisInfoStruct::noOfSimplePrimitives
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 SCF_restricted::create_gabedit_file().


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