ergo
|
Contains coefficients needed for quick integral evaluation. More...
#include <integral_info.h>
Public Member Functions | |
void | init () |
ergo_real | BoysFunction (int n, ergo_real x) const |
ergo_real | BoysFunction_expensive (int n, ergo_real x, int noOfIntegrationIntervals) const |
const MultipolePrepManager & | GetMultipolePrep () const |
const MMLimitTable & | GetMMLimitTable () const |
int | multiply_by_hermite_conversion_matrix_from_right (int n1max, int n2max, ergo_real a, ergo_real *A, ergo_real *result) const |
int | multiply_by_hermite_conversion_matrix_from_left (int n1max, int n2max, ergo_real a, ergo_real *A, ergo_real *result) const |
int | get_hermite_conversion_matrix_right (int nmax, ergo_real a, ergo_real *result) const |
int | get_hermite_conversion_matrix_left (int nmax, ergo_real a, ergo_real *result) const |
int | get_hermite_conversion_matrix_right_sparse (int nmax, ergo_real a, i_j_val_struct *result) const |
IntegralInfo (bool initialize) | |
~IntegralInfo () | |
IntegralInfo (const IntegralInfo &ii) | |
Function needed for Chunks&Tasks usage. More... | |
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 | |
basis_func_poly_struct | basis_func_poly_list [MAX_NO_OF_BASIS_FUNC_POLYS] |
int | no_of_basis_func_polys |
monomial_info_struct | monomial_info |
Private Member Functions | |
IntegralInfo () | |
Private Attributes | |
BoysFunctionManager | boysFunctionManager |
MultipolePrepManager | multipolePrep |
MMLimitTable | mmLimitTable |
hermite_conversion_info_struct | hermite_conversion_info |
bool | initialized |
Contains coefficients needed for quick integral evaluation.
This object is quite large and should always be allocated with new. Placing it on stack is a bad idea.
|
private |
IntegralInfo::IntegralInfo | ( | bool | initialize | ) |
References init().
IntegralInfo::~IntegralInfo | ( | ) |
IntegralInfo::IntegralInfo | ( | const IntegralInfo & | ii | ) |
Function needed for Chunks&Tasks usage.
References basis_func_poly_list.
void IntegralInfo::assign_from_buffer | ( | char const * | dataBuffer, |
size_t const | bufferSize | ||
) |
Function needed for Chunks&Tasks usage.
References BoysFunctionManager::assign_from_buffer(), hermite_conversion_info_struct::assign_from_buffer(), MMLimitTable::assign_from_buffer(), monomial_info_struct::assign_from_buffer(), MultipolePrepManager::assign_from_buffer(), basis_func_poly_list, boysFunctionManager, BoysFunctionManager::get_size(), hermite_conversion_info_struct::get_size(), MMLimitTable::get_size(), monomial_info_struct::get_size(), MultipolePrepManager::get_size(), hermite_conversion_info, initialized, MAX_NO_OF_BASIS_FUNC_POLYS, mmLimitTable, monomial_info, multipolePrep, and no_of_basis_func_polys.
References BoysFunctionManager::BoysFunction(), boysFunctionManager, and initialized.
Referenced by get_related_integrals_hermite(), and main().
ergo_real IntegralInfo::BoysFunction_expensive | ( | int | n, |
ergo_real | x, | ||
int | noOfIntegrationIntervals | ||
) | const |
References BoysFunctionManager::BoysFunction_expensive(), and boysFunctionManager.
Referenced by BoysFuncAccurate().
int IntegralInfo::get_hermite_conversion_matrix_right_sparse | ( | int | nmax, |
ergo_real | a, | ||
i_j_val_struct * | result | ||
) | const |
References hermite_conversion_info_struct::get_hermite_conversion_matrix_right_sparse(), hermite_conversion_info, and monomial_info.
Referenced by organize_distributions().
size_t IntegralInfo::get_size | ( | ) | const |
Function needed for Chunks&Tasks usage.
References boysFunctionManager, BoysFunctionManager::get_size(), hermite_conversion_info_struct::get_size(), MMLimitTable::get_size(), monomial_info_struct::get_size(), MultipolePrepManager::get_size(), hermite_conversion_info, MAX_NO_OF_BASIS_FUNC_POLYS, mmLimitTable, monomial_info, and multipolePrep.
Referenced by write_to_buffer().
|
inline |
|
inline |
References multipolePrep.
Referenced by compute_J_by_boxes_linear(), compute_V_and_gradient_linear(), compute_V_hierarchical(), create_nuclei_mm_tree(), and execute_joblist_J_fmm_shared().
void IntegralInfo::init | ( | ) |
References boysFunctionManager, do_output(), hermite_conversion_info, BoysFunctionManager::init(), monomial_info_struct::init(), MultipolePrepManager::init(), hermite_conversion_info_struct::init(), initialized, MMLimitTable::inittt(), LOG_AREA_INTEGRALS, LOG_CAT_INFO, mmLimitTable, monomial_info, multipolePrep, and setup_basis_func_polys().
Referenced by IntegralInfo(), and main().
int IntegralInfo::multiply_by_hermite_conversion_matrix_from_right | ( | int | n1max, |
int | n2max, | ||
ergo_real | a, | ||
ergo_real * | A, | ||
ergo_real * | result | ||
) | const |
References A, hermite_conversion_info, monomial_info, and hermite_conversion_info_struct::multiply_by_hermite_conversion_matrix_from_right().
Referenced by do_1e_repulsion_integral_derivatives_using_symb_info(), do_1e_repulsion_integral_using_symb_info_h(), IntegratorWithMemory::do_2e_integral(), do_2e_integral_using_symb_info_h(), do_interaction_recursive(), do_interaction_recursive_2(), and get_related_integrals_h().
void IntegralInfo::write_to_buffer | ( | char * | dataBuffer, |
size_t const | bufferSize | ||
) | const |
Function needed for Chunks&Tasks usage.
References basis_func_poly_list, boysFunctionManager, BoysFunctionManager::get_size(), hermite_conversion_info_struct::get_size(), get_size(), MMLimitTable::get_size(), monomial_info_struct::get_size(), MultipolePrepManager::get_size(), hermite_conversion_info, initialized, MAX_NO_OF_BASIS_FUNC_POLYS, mmLimitTable, monomial_info, multipolePrep, no_of_basis_func_polys, BoysFunctionManager::write_to_buffer(), hermite_conversion_info_struct::write_to_buffer(), MMLimitTable::write_to_buffer(), monomial_info_struct::write_to_buffer(), and MultipolePrepManager::write_to_buffer().
basis_func_poly_struct IntegralInfo::basis_func_poly_list[MAX_NO_OF_BASIS_FUNC_POLYS] |
|
private |
Referenced by assign_from_buffer(), BoysFunction(), BoysFunction_expensive(), get_size(), init(), and write_to_buffer().
|
private |
Referenced by assign_from_buffer(), get_hermite_conversion_matrix_left(), get_hermite_conversion_matrix_right(), get_hermite_conversion_matrix_right_sparse(), get_size(), init(), multiply_by_hermite_conversion_matrix_from_left(), multiply_by_hermite_conversion_matrix_from_right(), and write_to_buffer().
|
private |
Referenced by assign_from_buffer(), BoysFunction(), init(), and write_to_buffer().
|
private |
Referenced by assign_from_buffer(), get_size(), GetMMLimitTable(), init(), and write_to_buffer().
monomial_info_struct IntegralInfo::monomial_info |
Referenced by assign_from_buffer(), compute_JK_single_box(), create_list_of_multipoles_for_box(), define_basis_func_poly_special_6dfuncs(), do_1e_repulsion_integral_derivatives_using_symb_info(), do_1e_repulsion_integral_using_symb_info_h(), IntegratorWithMemory::do_2e_integral(), do_2e_integral_using_symb_info_h(), do_interaction_recursive(), do_interaction_recursive_2(), generate_multipoles_for_groups(), get_conversion_matrix_for_group(), get_hermite_conversion_matrix_left(), get_hermite_conversion_matrix_right(), get_hermite_conversion_matrix_right_sparse(), get_J_contribs_from_2_interacting_boxes(), get_JK_contribs_from_2_interacting_boxes(), get_K_contribs_from_2_interacting_boxes(), get_related_integrals_hermite(), get_size(), init(), multiply_by_hermite_conversion_matrix_from_left(), multiply_by_hermite_conversion_matrix_from_right(), organize_distributions(), setup_basis_func_polys(), and write_to_buffer().
|
private |
Referenced by assign_from_buffer(), get_size(), GetMultipolePrep(), init(), and write_to_buffer().
int IntegralInfo::no_of_basis_func_polys |