ergo
integrals_2el_boxed.cc File Reference

Code for 2-electron integrals, computation of Coulomb (J) and HF exchange (K) matrices using a single box. More...

#include <string.h>
#include "integrals_2el_boxed.h"
#include "integrals_2el_utils.h"
#include "organize_distrs.h"
#include "pi.h"
#include "utilities.h"

Classes

struct  abcd_struct
 
struct  point_3d_struct
 

Macros

#define set_abcd_list_item_macro(i, A, B, C, D, v, i1, i2)   list[i].a = A; list[i].b = B; list[i].c = C; list[i].d = D; list[i].densValue = v; list[i].idx1 = i1; list[i].idx2 = i2;
 
#define NUMBER_OF_PARTS   1
 

Functions

static int get_JK_contribs_from_2_interacting_boxes (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, int maxNoOfMonomials, ergo_real *J, ergo_real *K, const ergo_real *dens, const minimal_distr_struct *minimalDistrList_1, int noOfGroups_1, const distr_group_struct *groupList_1, const minimal_distr_struct *minimalDistrList_2, int noOfGroups_2, const distr_group_struct *groupList_2, const cluster_struct *clusterList_1, int nClusters_1, const cluster_struct *clusterList_2, int nClusters_2, const batch_struct *batchList_1, int nBatchs_1, const batch_struct *batchList_2, int nBatchs_2, const basis_func_pair_struct *basisFuncPairList_1, const basis_func_pair_struct *basisFuncPairList_2, int interactionWithSelf, ergo_real threshold, JK_contribs_buffer_struct *bufferStructPtr)
 
int compute_JK_single_box (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, ergo_real *J, ergo_real *K, const ergo_real *dens, ergo_real threshold)
 

Variables

static const int HUGE_INTEGER_NUMBER = 2000000000
 

Detailed Description

Code for 2-electron integrals, computation of Coulomb (J) and HF exchange (K) matrices using a single box.

Author
: Elias Rudberg responsible

Macro Definition Documentation

◆ NUMBER_OF_PARTS

#define NUMBER_OF_PARTS   1

Referenced by compute_JK_single_box().

◆ set_abcd_list_item_macro

#define set_abcd_list_item_macro (   i,
  A,
  B,
  C,
  D,
  v,
  i1,
  i2 
)    list[i].a = A; list[i].b = B; list[i].c = C; list[i].d = D; list[i].densValue = v; list[i].idx1 = i1; list[i].idx2 = i2;

Function Documentation

◆ compute_JK_single_box()

◆ get_JK_contribs_from_2_interacting_boxes()

static int get_JK_contribs_from_2_interacting_boxes ( const BasisInfoStruct basisInfo,
const IntegralInfo integralInfo,
int  maxNoOfMonomials,
ergo_real J,
ergo_real K,
const ergo_real dens,
const minimal_distr_struct minimalDistrList_1,
int  noOfGroups_1,
const distr_group_struct groupList_1,
const minimal_distr_struct minimalDistrList_2,
int  noOfGroups_2,
const distr_group_struct groupList_2,
const cluster_struct clusterList_1,
int  nClusters_1,
const cluster_struct clusterList_2,
int  nClusters_2,
const batch_struct batchList_1,
int  nBatchs_1,
const batch_struct batchList_2,
int  nBatchs_2,
const basis_func_pair_struct basisFuncPairList_1,
const basis_func_pair_struct basisFuncPairList_2,
int  interactionWithSelf,
ergo_real  threshold,
JK_contribs_buffer_struct bufferStructPtr 
)
static

Variable Documentation

◆ HUGE_INTEGER_NUMBER

const int HUGE_INTEGER_NUMBER = 2000000000
static

Referenced by compute_JK_single_box().