BasisInfoStruct Struct Reference

#include <basisinfo.h>

List of all members.

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::BasisInfoStruct ( int  use_6_d_funcs_ = 0  ) 

Initializes all the fields to sane values.

Referenced by permuteShells().

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

Member Function Documentation

void BasisInfoStruct::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 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:
molecule contains the description of the molecule geometry.
basisset_filename_default contains 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.
noOfRanges the length of rangeList.
rangeList is 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_shells disable 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(), es_run(), get_energy(), 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::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 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.

int BasisInfoStruct::get_basis_funcs (  ) 
size_t BasisInfoStruct::get_size (  )  const

Function needed for Chunks&Tasks usage.

References noOfBasisFuncs, noOfShells, and noOfSimplePrimitives.

Referenced by write_to_buffer().

int BasisInfoStruct::getNoOfBasisFuncsForAtomType ( const basisset_info basisset,
const IntegralInfo integralInfo,
int  atomCharge,
int  use_6_d_funcs 
) [static]
int BasisInfoStruct::getSimplePrimitivesAll ( const IntegralInfo integralInfo  ) 
int BasisInfoStruct::normalizeShells ( const IntegralInfo integralInfo  ) 
BasisInfoStruct * BasisInfoStruct::permuteShells ( const int *  shellMap,
const IntegralInfo ii 
) const

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

Parameters:
shellMap vector defining the permutation of shells.

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

Parameters:
ii IntegralInfo structure needed to reconstruct the primitive gaussian data.

References BasisInfoStruct(), 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

Referenced by SCF_unrestricted::add_random_disturbance_to_starting_guess(), SCF_restricted::add_random_disturbance_to_starting_guess(), addBasisfuncsForAtomList(), assign_from_buffer(), 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(), SCF_unrestricted::create_eigvec_file(), SCF_restricted::create_eigvec_file(), SCF_unrestricted::create_gabedit_file(), SCF_restricted::create_gabedit_file(), 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(), SCF_general::do_SCF_iterations(), SCF_unrestricted::do_spin_flip(), do_tdhf_dynamics(), es_get_polarisability(), es_getexc(), es_run(), 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_unrestricted::get_2e_part_and_energy(), SCF_restricted::get_2e_part_and_energy(), 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_dipole_moment_fullmat(), get_energy(), SCF_restricted::get_expected_values_pos_operator(), SCF_unrestricted::get_FDSminusSDF(), SCF_restricted::get_FDSminusSDF(), 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(), SCF_restricted::get_new_density_matrix(), get_no_of_primitives_for_density(), get_product_distrs(), get_size(), SCF_unrestricted::get_starting_guess_density(), SCF_restricted::get_starting_guess_density(), getMatrixPermutation(), getMatrixPermutationOnlyFactor2(), getNoOfBasisFuncsForAtomType(), getSafeMaxDistance(), getSimplePrimitivesAll(), 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_unrestricted::output_density_images(), SCF_restricted::output_density_images(), SCF_restricted::output_density_images_orbital(), output_orbital_coeffs_in_gabedit_order(), SCF_unrestricted::output_sparsity_S_F_D(), SCF_restricted::output_sparsity_S_F_D(), SCF::MatOptions::prepare(), preparePermutations(), preparePermutationsHML(), SparsePattern::save(), SCF_restricted::save_full_matrices_for_matlab(), save_symmetric_matrix(), 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_unrestricted::write_diag_dens_to_file(), SCF_restricted::write_diag_dens_to_file(), and write_to_buffer().

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_unrestricted::create_gabedit_file(), and SCF_restricted::create_gabedit_file().


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

Generated on 10 Jul 2018 for ergo by  doxygen 1.6.1