ergo
integrals_2el_explicit.cc File Reference

Code for explicit computation of 4-index 2-electron integrals. More...

#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <errno.h>
#include <memory.h>
#include <time.h>
#include <stdarg.h>
#include "integrals_2el_explicit.h"
#include "memorymanag.h"
#include "pi.h"
#include "output.h"
#include "utilities.h"
#include "boysfunction.h"
#include "integral_info.h"
#include "integrals_general.h"
#include "integrals_2el_single.h"

Classes

struct  abcd_struct
 

Macros

#define set_abcd_list_item_macro(i, A, B, C, D)
 

Functions

ergo_real do_2e_integral (int mu, int nu, int la, int si, const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo)
 
ergo_real do_2e_integral_general (int mu, int nu, int la, int si, const BasisInfoStruct &basisInfo_mu, const BasisInfoStruct &basisInfo_nu, const BasisInfoStruct &basisInfo_la, const BasisInfoStruct &basisInfo_si, const IntegralInfo &integralInfo)
 
int compute_2e_matrix_simple (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, ergo_real hf_weight, ergo_real *result, const ergo_real *dens)
 compute_2e_matrix_simple computes the 2el matrix in the simplest possible way.
 
static int compute_J_and_K_integraldriven (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, ergo_real *J, ergo_real *K, ergo_real *dens)
 
int compute_2e_matrix_list_explicit (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, ergo_real **resultList, ergo_real **densList, int noOfMatrices, ergo_real threshold)
 

Variables

static int globalCount = 0
 

Detailed Description

Code for explicit computation of 4-index 2-electron integrals.

Author
: Elias Rudberg responsible

Macro Definition Documentation

◆ set_abcd_list_item_macro

#define set_abcd_list_item_macro ( i,
A,
B,
C,
D )
Value:
list[i].a = A; list[i].b = B; list[i].c = C; list[i].d = D;
#define B
#define A

Referenced by compute_J_and_K_integraldriven().

Function Documentation

◆ compute_2e_matrix_list_explicit()

int compute_2e_matrix_list_explicit ( const BasisInfoStruct & basisInfo,
const IntegralInfo & integralInfo,
ergo_real ** resultList,
ergo_real ** densList,
int noOfMatrices,
ergo_real threshold )

◆ compute_2e_matrix_simple()

int compute_2e_matrix_simple ( const BasisInfoStruct & basisInfo,
const IntegralInfo & integralInfo,
ergo_real hf_weight,
ergo_real * result,
const ergo_real * dens )

compute_2e_matrix_simple computes the 2el matrix in the simplest possible way.

It assumes that the matrix is computed for closed shell. The weight of the HF exchange is controlled by

Parameters
hf_weightwhich is equal 1 for ordinary Hartree-Fock calculation. No assumption are made regarding symmetry of the density matrix
dens. The computed two-electron part of the Fock matrix is returned in
result.
basisInfoinfo about the used basis set.
integralInfoinfo needed for evaluation of integrals of Gaussian functions.

References do_2e_integral(), do_output(), LOG_AREA_INTEGRALS, LOG_CAT_INFO, and BasisInfoStruct::noOfBasisFuncs.

Referenced by ErgoE2Evaluator::transform().

◆ compute_J_and_K_integraldriven()

◆ do_2e_integral()

ergo_real do_2e_integral ( int mu,
int nu,
int la,
int si,
const BasisInfoStruct & basisInfo,
const IntegralInfo & integralInfo )

◆ do_2e_integral_general()

ergo_real do_2e_integral_general ( int mu,
int nu,
int la,
int si,
const BasisInfoStruct & basisInfo_mu,
const BasisInfoStruct & basisInfo_nu,
const BasisInfoStruct & basisInfo_la,
const BasisInfoStruct & basisInfo_si,
const IntegralInfo & integralInfo )

Variable Documentation

◆ globalCount

int globalCount = 0
static

Referenced by do_2e_integral_general().