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 )