MolSSI Integral Reference Project
gtoeri.h
Go to the documentation of this file.
1 /*! \file
2  *
3  * \brief Kernel for electron repulsion integrals of gaussian orbitals
4  */
5 
6 #pragma once
7 
8 #include <arb.h>
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 
16 
17 /*! \brief Computes a single cartesian GTO electron repulsion integral
18  * (interval arithmetic)
19  *
20  * \copydetails mirp_gtoeri_single_exact
21  *
22  * \param [in] working_prec
23  * The working precision (binary digits/bits) to use
24  * in the calculation
25  */
26 void mirp_gtoeri_single(arb_t integral,
27  const int * lmn1, arb_srcptr A, const arb_t alpha1,
28  const int * lmn2, arb_srcptr B, const arb_t alpha2,
29  const int * lmn3, arb_srcptr C, const arb_t alpha3,
30  const int * lmn4, arb_srcptr D, const arb_t alpha4,
31  slong working_prec);
32 
33 
34 /*******************
35  * Wrappings
36  *******************/
37 
38 /*! \brief Compute a single GTO electron repulsion integral for a primitive quartet
39  * (interval arithmetic)
40  *
41  * \copydetails mirp_gtoeri_single
42  */
44 
45 
46 /*! \brief Compute a single GTO electron repulsion integral for a primitive quartet
47  * (exact double precision)
48  *
49  * The \p lmn parameters are the exponents on x, y, and z, with the total
50  * angular momentum being the sum of the three components. For example,
51  * { 1, 2, 0 } is the \f$f_{xy^2}\f$ cartesian integral.
52  *
53  * \param [out] integral
54  * Resulting integral integral
55  * \param [in] lmn1,lmn2,lmn3,lmn4
56  * Exponents of x, y, and z that signify angular momentum. Required
57  * to be 3 elements.
58  * \param [in] A,B,C,D
59  * XYZ coordinates of the four centers (each of length 3)
60  * \param [in] alpha1,alpha2,alpha3,alpha4
61  * Exponents of the gaussian on the four centers
62  */
64 
65 
66 /*! \brief Compute GTO electron repulsion integrals for a contracted
67  * shell quartet (interval arithmetic)
68  *
69  * \copydetails mirp_gtoeri_exact
70  * \param [in] working_prec
71  * The working precision (binary digits/bits) to use
72  * in the calculation
73  */
75 
76 
77 /*! \brief Compute GTO electron repulsion integrals for a contracted
78  * shell quartet (string inputs)
79  *
80  * \copydetails mirp_gtoeri
81  */
83 
84 
85 /*! \brief Compute GTO electron repulsion integrals for a contracted
86  * shell quartet (exact double precision)
87  *
88  * \param [out] integrals
89  * Output for the computed integral
90  * \param [in] am1,am2,am3,am4
91  * Angular momentum for the four centers
92  * \param [in] A,B,C,D
93  * XYZ coordinates of the four centers (each of length 3)
94  * \param [in] nprim1,nprim2,nprim3,nprim4
95  * Number of primitive gaussians for each shell
96  * \param [in] ngen1,ngen2,ngen3,ngen4
97  * Number of general contractions for each shell
98  * \param [in] alpha1,alpha2,alpha3,alpha4
99  * Exponents of the primitive gaussians on the four centers
100  * (of lengths \p nprim1, \p nprim2, \p nprim3, \p nprim4 respectively)
101  * \param [in] coeff1,coeff2,coeff3,coeff4
102  * Coefficients for all primitives and for all general contractions
103  * for each shell (of lengths \p nprim1 * \p ngen1, \p nprim2 * \p ngen2,
104  * \p nprim3 * \p ngen3, \p nprim4 * \p ngen4 respectively)
105  */
107 
108 
109 
110 
111 #ifdef __cplusplus
112 }
113 #endif
114 
Some useful wrapping of functionality.
#define MIRP_WRAP_SINGLE4_EXACT(name)
Create a function that computes single cartesian integrals to exact double precision (four-center) ...
Definition: integral4_wrappers.h:223
#define MIRP_WRAP_SHELL4_STR(name)
Create a function that computes all cartesian integrals of a contracted shell quartet from string arg...
Definition: integral4_wrappers.h:279
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) ...
Definition: gtoeri.c:113
#define MIRP_WRAP_SINGLE4_STR(name)
Create a function that computes single cartesian integrals from string arguments (four-center) ...
Definition: integral4_wrappers.h:194
#define MIRP_WRAP_SHELL4_EXACT(name)
Create a function that computes all cartesian integrals of a contracted shell quartet to exact double...
Definition: integral4_wrappers.h:308
#define MIRP_WRAP_SHELL4(name)
Create a function that computes all cartesian integrals of a contracted shell quartet (four-center...
Definition: integral4_wrappers.h:250