MolSSI Integral Reference Project
Functions
gtoeri.h File Reference

Kernel for electron repulsion integrals of gaussian orbitals. More...

#include <arb.h>
#include "mirp/kernels/integral4_wrappers.h"
Include dependency graph for gtoeri.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void mirp_gtoeri_single (arb_t integral, const int *lmn1, arb_srcptr A, const arb_t alpha1, const int *lmn2, arb_srcptr B, const arb_t alpha2, const int *lmn3, arb_srcptr C, const arb_t alpha3, const int *lmn4, arb_srcptr D, const arb_t alpha4, slong working_prec)
 Computes a single cartesian GTO electron repulsion integral (interval arithmetic) More...
 
static void mirp_gtoeri_single_str (arb_t integral, const int *lmn1, const char **A, const char *alpha1, const int *lmn2, const char **B, const char *alpha2, const int *lmn3, const char **C, const char *alpha3, const int *lmn4, const char **D, const char *alpha4, slong working_prec)
 Compute a single GTO electron repulsion integral for a primitive quartet (interval arithmetic) More...
 
static void mirp_gtoeri_single_exact (double *integral, const int *lmn1, const double *A, double alpha1, const int *lmn2, const double *B, double alpha2, const int *lmn3, const double *C, double alpha3, const int *lmn4, const double *D, double alpha4)
 Compute a single GTO electron repulsion integral for a primitive quartet (exact double precision) More...
 
static void mirp_gtoeri (arb_t integrals, int am1, arb_srcptr A, int nprim1, int ngen1, arb_srcptr alpha1, arb_srcptr coeff1, int am2, arb_srcptr B, int nprim2, int ngen2, arb_srcptr alpha2, arb_srcptr coeff2, int am3, arb_srcptr C, int nprim3, int ngen3, arb_srcptr alpha3, arb_srcptr coeff3, int am4, arb_srcptr D, int nprim4, int ngen4, arb_srcptr alpha4, arb_srcptr coeff4, slong working_prec)
 Compute GTO electron repulsion integrals for a contracted shell quartet (interval arithmetic) More...
 
static void mirp_gtoeri_str (arb_ptr integrals, int am1, const char **A, int nprim1, int ngen1, const char **alpha1, const char **coeff1, int am2, const char **B, int nprim2, int ngen2, const char **alpha2, const char **coeff2, int am3, const char **C, int nprim3, int ngen3, const char **alpha3, const char **coeff3, int am4, const char **D, int nprim4, int ngen4, const char **alpha4, const char **coeff4, slong working_prec)
 Compute GTO electron repulsion integrals for a contracted shell quartet (string inputs) More...
 
static void mirp_gtoeri_exact (double *integrals, int am1, const double *A, int nprim1, int ngen1, const double *alpha1, const double *coeff1, int am2, const double *B, int nprim2, int ngen2, const double *alpha2, const double *coeff2, int am3, const double *C, int nprim3, int ngen3, const double *alpha3, const double *coeff3, int am4, const double *D, int nprim4, int ngen4, const double *alpha4, const double *coeff4)
 Compute GTO electron repulsion integrals for a contracted shell quartet (exact double precision) More...
 

Detailed Description

Kernel for electron repulsion integrals of gaussian orbitals.

Function Documentation

◆ mirp_gtoeri()

static void mirp_gtoeri ( arb_t  integrals,
int  am1,
arb_srcptr  A,
int  nprim1,
int  ngen1,
arb_srcptr  alpha1,
arb_srcptr  coeff1,
int  am2,
arb_srcptr  B,
int  nprim2,
int  ngen2,
arb_srcptr  alpha2,
arb_srcptr  coeff2,
int  am3,
arb_srcptr  C,
int  nprim3,
int  ngen3,
arb_srcptr  alpha3,
arb_srcptr  coeff3,
int  am4,
arb_srcptr  D,
int  nprim4,
int  ngen4,
arb_srcptr  alpha4,
arb_srcptr  coeff4,
slong  working_prec 
)
inlinestatic

Compute GTO electron repulsion integrals for a contracted shell quartet (interval arithmetic)

Parameters
[out]integralsOutput for the computed integral
[in]am1,am2,am3,am4Angular momentum for the four centers
[in]A,B,C,DXYZ coordinates of the four centers (each of length 3)
[in]nprim1,nprim2,nprim3,nprim4Number of primitive gaussians for each shell
[in]ngen1,ngen2,ngen3,ngen4Number of general contractions for each shell
[in]alpha1,alpha2,alpha3,alpha4Exponents of the primitive gaussians on the four centers (of lengths nprim1, nprim2, nprim3, nprim4 respectively)
[in]coeff1,coeff2,coeff3,coeff4Coefficients for all primitives and for all general contractions for each shell (of lengths nprim1 * ngen1, nprim2 * ngen2, nprim3 * ngen3, nprim4 * ngen4 respectively)
[in]working_precThe working precision (binary digits/bits) to use in the calculation

◆ mirp_gtoeri_exact()

static void mirp_gtoeri_exact ( double *  integrals,
int  am1,
const double *  A,
int  nprim1,
int  ngen1,
const double *  alpha1,
const double *  coeff1,
int  am2,
const double *  B,
int  nprim2,
int  ngen2,
const double *  alpha2,
const double *  coeff2,
int  am3,
const double *  C,
int  nprim3,
int  ngen3,
const double *  alpha3,
const double *  coeff3,
int  am4,
const double *  D,
int  nprim4,
int  ngen4,
const double *  alpha4,
const double *  coeff4 
)
inlinestatic

Compute GTO electron repulsion integrals for a contracted shell quartet (exact double precision)

Parameters
[out]integralsOutput for the computed integral
[in]am1,am2,am3,am4Angular momentum for the four centers
[in]A,B,C,DXYZ coordinates of the four centers (each of length 3)
[in]nprim1,nprim2,nprim3,nprim4Number of primitive gaussians for each shell
[in]ngen1,ngen2,ngen3,ngen4Number of general contractions for each shell
[in]alpha1,alpha2,alpha3,alpha4Exponents of the primitive gaussians on the four centers (of lengths nprim1, nprim2, nprim3, nprim4 respectively)
[in]coeff1,coeff2,coeff3,coeff4Coefficients for all primitives and for all general contractions for each shell (of lengths nprim1 * ngen1, nprim2 * ngen2, nprim3 * ngen3, nprim4 * ngen4 respectively)

◆ mirp_gtoeri_single()

void mirp_gtoeri_single ( arb_t  integral,
const int *  lmn1,
arb_srcptr  A,
const arb_t  alpha1,
const int *  lmn2,
arb_srcptr  B,
const arb_t  alpha2,
const int *  lmn3,
arb_srcptr  C,
const arb_t  alpha3,
const int *  lmn4,
arb_srcptr  D,
const arb_t  alpha4,
slong  working_prec 
)

Computes a single cartesian GTO electron repulsion integral (interval arithmetic)

The lmn parameters are the exponents on x, y, and z, with the total angular momentum being the sum of the three components. For example, { 1, 2, 0 } is the $f_{xy^2}$ cartesian integral.

Parameters
[out]integralResulting integral integral
[in]lmn1,lmn2,lmn3,lmn4Exponents of x, y, and z that signify angular momentum. Required to be 3 elements.
[in]A,B,C,DXYZ coordinates of the four centers (each of length 3)
[in]alpha1,alpha2,alpha3,alpha4Exponents of the gaussian on the four centers
[in]working_precThe working precision (binary digits/bits) to use in the calculation

◆ mirp_gtoeri_single_exact()

static void mirp_gtoeri_single_exact ( double *  integral,
const int *  lmn1,
const double *  A,
double  alpha1,
const int *  lmn2,
const double *  B,
double  alpha2,
const int *  lmn3,
const double *  C,
double  alpha3,
const int *  lmn4,
const double *  D,
double  alpha4 
)
inlinestatic

Compute a single GTO electron repulsion integral for a primitive quartet (exact double precision)

The lmn parameters are the exponents on x, y, and z, with the total angular momentum being the sum of the three components. For example, { 1, 2, 0 } is the $f_{xy^2}$ cartesian integral.

Parameters
[out]integralResulting integral integral
[in]lmn1,lmn2,lmn3,lmn4Exponents of x, y, and z that signify angular momentum. Required to be 3 elements.
[in]A,B,C,DXYZ coordinates of the four centers (each of length 3)
[in]alpha1,alpha2,alpha3,alpha4Exponents of the gaussian on the four centers

◆ mirp_gtoeri_single_str()

static void mirp_gtoeri_single_str ( arb_t  integral,
const int *  lmn1,
const char **  A,
const char *  alpha1,
const int *  lmn2,
const char **  B,
const char *  alpha2,
const int *  lmn3,
const char **  C,
const char *  alpha3,
const int *  lmn4,
const char **  D,
const char *  alpha4,
slong  working_prec 
)
inlinestatic

Compute a single GTO electron repulsion integral for a primitive quartet (interval arithmetic)

The lmn parameters are the exponents on x, y, and z, with the total angular momentum being the sum of the three components. For example, { 1, 2, 0 } is the $f_{xy^2}$ cartesian integral.

Parameters
[out]integralResulting integral integral
[in]lmn1,lmn2,lmn3,lmn4Exponents of x, y, and z that signify angular momentum. Required to be 3 elements.
[in]A,B,C,DXYZ coordinates of the four centers (each of length 3)
[in]alpha1,alpha2,alpha3,alpha4Exponents of the gaussian on the four centers
[in]working_precThe working precision (binary digits/bits) to use in the calculation

◆ mirp_gtoeri_str()

static void mirp_gtoeri_str ( arb_ptr  integrals,
int  am1,
const char **  A,
int  nprim1,
int  ngen1,
const char **  alpha1,
const char **  coeff1,
int  am2,
const char **  B,
int  nprim2,
int  ngen2,
const char **  alpha2,
const char **  coeff2,
int  am3,
const char **  C,
int  nprim3,
int  ngen3,
const char **  alpha3,
const char **  coeff3,
int  am4,
const char **  D,
int  nprim4,
int  ngen4,
const char **  alpha4,
const char **  coeff4,
slong  working_prec 
)
inlinestatic

Compute GTO electron repulsion integrals for a contracted shell quartet (string inputs)

Parameters
[out]integralsOutput for the computed integral
[in]am1,am2,am3,am4Angular momentum for the four centers
[in]A,B,C,DXYZ coordinates of the four centers (each of length 3)
[in]nprim1,nprim2,nprim3,nprim4Number of primitive gaussians for each shell
[in]ngen1,ngen2,ngen3,ngen4Number of general contractions for each shell
[in]alpha1,alpha2,alpha3,alpha4Exponents of the primitive gaussians on the four centers (of lengths nprim1, nprim2, nprim3, nprim4 respectively)
[in]coeff1,coeff2,coeff3,coeff4Coefficients for all primitives and for all general contractions for each shell (of lengths nprim1 * ngen1, nprim2 * ngen2, nprim3 * ngen3, nprim4 * ngen4 respectively)
[in]working_precThe working precision (binary digits/bits) to use in the calculation