ergo
integrals_2el_utils.cc File Reference

Code for various utilities used by 2-electron integral computation (i.e. More...

#include <string.h>
#include <stdexcept>
#include "integrals_2el_utils.h"
#include "integrals_hermite.h"
#include "template_blas_common.h"
#include "basis_func_extent.h"
#include "integrals_2el_repeating.h"
#include "integrals_general.h"

Functions

ergo_real get_max_abs_vector_element (int n, const ergo_real *vector)
 
void allocate_buffers_needed_by_integral_code (const IntegralInfo &integralInfo, int maxNoOfMonomials, int basisFuncListCount_max, JK_contribs_buffer_struct *bufferStruct)
 
void free_buffers_needed_by_integral_code (JK_contribs_buffer_struct *bufferStruct)
 
int get_related_integrals_h (const IntegralInfo &integralInfo, const JK::ExchWeights &CAM_params, int n1max, int noOfMonomials_1, int n2max, int noOfMonomials_2, ergo_real dx0, ergo_real dx1, ergo_real dx2, ergo_real alpha1, ergo_real alpha2, ergo_real alpha0, ergo_real *primitiveIntegralList, ergo_real *primitiveIntegralList_work, ergo_real resultPreFactor)
 
static ergo_real erfc_inverse (ergo_real x, ergo_real requested_accuracy)
 
void compute_extent_for_list_of_distributions (int n, DistributionSpecStructLabeled *distrList, ergo_real threshold, ergo_real maxLimitingFactor, ergo_real maxabsDmatelement)
 
int get_list_of_labeled_distrs_maxLimitingFactor (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, ergo_real threshold, ergo_real *resultMaxLimitingFactor, ergo_real maxDensityMatrixElement)
 
int get_list_of_labeled_distrs (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, ergo_real threshold, DistributionSpecStructLabeled *resultList, int maxCountDistrs, ergo_real maxLimitingFactor, const ergo_real *dens, ergo_real maxDensityMatrixElement)
 
static void create_item_list_from_list_of_distributions (int n, const DistributionSpecStructLabeled *distrList, box_item_struct *itemList)
 
int create_box_system_and_reorder_distrs (int distrCount, DistributionSpecStructLabeled *distrList, ergo_real toplevelBoxSize, BoxSystem &boxSystem)
 

Detailed Description

Code for various utilities used by 2-electron integral computation (i.e.

computation of J and K matrices).

Author
: Elias Rudberg responsible.

Function Documentation

◆ allocate_buffers_needed_by_integral_code()

◆ compute_extent_for_list_of_distributions()

void compute_extent_for_list_of_distributions ( int  n,
DistributionSpecStructLabeled distrList,
ergo_real  threshold,
ergo_real  maxLimitingFactor,
ergo_real  maxabsDmatelement 
)

◆ create_box_system_and_reorder_distrs()

int create_box_system_and_reorder_distrs ( int  distrCount,
DistributionSpecStructLabeled distrList,
ergo_real  toplevelBoxSize,
BoxSystem boxSystem 
)

◆ create_item_list_from_list_of_distributions()

static void create_item_list_from_list_of_distributions ( int  n,
const DistributionSpecStructLabeled distrList,
box_item_struct itemList 
)
static

◆ erfc_inverse()

static ergo_real erfc_inverse ( ergo_real  x,
ergo_real  requested_accuracy 
)
static

◆ free_buffers_needed_by_integral_code()

◆ get_list_of_labeled_distrs()

◆ get_list_of_labeled_distrs_maxLimitingFactor()

◆ get_max_abs_vector_element()

ergo_real get_max_abs_vector_element ( int  n,
const ergo_real vector 
)

◆ get_related_integrals_h()

int get_related_integrals_h ( const IntegralInfo integralInfo,
const JK::ExchWeights CAM_params,
int  n1max,
int  noOfMonomials_1,
int  n2max,
int  noOfMonomials_2,
ergo_real  dx0,
ergo_real  dx1,
ergo_real  dx2,
ergo_real  alpha1,
ergo_real  alpha2,
ergo_real  alpha0,
ergo_real primitiveIntegralList,
ergo_real primitiveIntegralList_work,
ergo_real  resultPreFactor 
)