LIBINT 2.7.2
master_ints_list.h
1/*
2 * Copyright (C) 2004-2021 Edward F. Valeev
3 *
4 * This file is part of Libint.
5 *
6 * Libint is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * Libint is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with Libint. If not, see <http://www.gnu.org/licenses/>.
18 *
19 */
20
21#ifndef _libint2_src_bin_libint_masterintslist_h_
22#define _libint2_src_bin_libint_masterintslist_h_
23
24// need extra-long mpl list
25#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
26#define BOOST_MPL_LIMIT_LIST_SIZE 50
27#include <boost/mpl/list.hpp>
28
29#include <bfset.h>
30#include <oper.h>
31#if LIBINT_SUPPORT_ONEBODYINTS
32# include <integral_1_1.h>
33#endif
34#include <integral_11_11.h>
35
36namespace libint2 {
37
39 // one-electron integrals
41#if LIBINT_SUPPORT_ONEBODYINTS
42 typedef GenIntegralSet_1_1<CGShell,OverlapOper,EmptySet> Overlap_1_1_sh;
43 typedef GenIntegralSet_1_1<CGF,OverlapOper,EmptySet> Overlap_1_1_int;
44 typedef GenIntegralSet_1_1<CGShell,KineticOper,EmptySet> Kinetic_1_1_sh;
45 typedef GenIntegralSet_1_1<CGF,KineticOper,EmptySet> Kinetic_1_1_int;
46 typedef GenIntegralSet_1_1<CGShell,ElecPotOper,mType> ElecPot_1_1_sh;
47 typedef GenIntegralSet_1_1<CGF,ElecPotOper,mType> ElecPot_1_1_int;
48 typedef GenIntegralSet_1_1<CGShell,CartesianMultipoleOper<3u>,EmptySet> CMultipole_1_1_sh;
49 typedef GenIntegralSet_1_1<CGF,CartesianMultipoleOper<3u>,EmptySet> CMultipole_1_1_int;
50 typedef GenIntegralSet_1_1<CGShell,SphericalMultipoleOper,EmptySet> SMultipole_1_1_sh;
51 typedef GenIntegralSet_1_1<CGF,SphericalMultipoleOper,EmptySet> SMultipole_1_1_int;
52
53 typedef GenIntegralSet_1_1<CGShell1d<CartesianAxis_X>,OverlapOper,EmptySet> Overlap_1_1_sh_x;
54 typedef GenIntegralSet_1_1<CGShell1d<CartesianAxis_Y>,OverlapOper,EmptySet> Overlap_1_1_sh_y;
55 typedef GenIntegralSet_1_1<CGShell1d<CartesianAxis_Z>,OverlapOper,EmptySet> Overlap_1_1_sh_z;
56 typedef GenIntegralSet_1_1<CGF1d<CartesianAxis_X>,OverlapOper,EmptySet> Overlap_1_1_int_x;
57 typedef GenIntegralSet_1_1<CGF1d<CartesianAxis_Y>,OverlapOper,EmptySet> Overlap_1_1_int_y;
58 typedef GenIntegralSet_1_1<CGF1d<CartesianAxis_Z>,OverlapOper,EmptySet> Overlap_1_1_int_z;
59 typedef GenIntegralSet_1_1<CGShell1d<CartesianAxis_X>,KineticOper,EmptySet> Kinetic_1_1_sh_x;
60 typedef GenIntegralSet_1_1<CGShell1d<CartesianAxis_Y>,KineticOper,EmptySet> Kinetic_1_1_sh_y;
61 typedef GenIntegralSet_1_1<CGShell1d<CartesianAxis_Z>,KineticOper,EmptySet> Kinetic_1_1_sh_z;
62 typedef GenIntegralSet_1_1<CGF1d<CartesianAxis_X>,KineticOper,EmptySet> Kinetic_1_1_int_x;
63 typedef GenIntegralSet_1_1<CGF1d<CartesianAxis_Y>,KineticOper,EmptySet> Kinetic_1_1_int_y;
64 typedef GenIntegralSet_1_1<CGF1d<CartesianAxis_Z>,KineticOper,EmptySet> Kinetic_1_1_int_z;
65
66 typedef GenIntegralSet_1_1<CGShell1d<CartesianAxis_X>,CartesianMultipoleOper<1u>,EmptySet> CMultipole_1_1_sh_x;
67 typedef GenIntegralSet_1_1<CGShell1d<CartesianAxis_Y>,CartesianMultipoleOper<1u>,EmptySet> CMultipole_1_1_sh_y;
68 typedef GenIntegralSet_1_1<CGShell1d<CartesianAxis_Z>,CartesianMultipoleOper<1u>,EmptySet> CMultipole_1_1_sh_z;
69 typedef GenIntegralSet_1_1<CGF1d<CartesianAxis_X>,CartesianMultipoleOper<1u>,EmptySet> CMultipole_1_1_int_x;
70 typedef GenIntegralSet_1_1<CGF1d<CartesianAxis_Y>,CartesianMultipoleOper<1u>,EmptySet> CMultipole_1_1_int_y;
71 typedef GenIntegralSet_1_1<CGF1d<CartesianAxis_Z>,CartesianMultipoleOper<1u>,EmptySet> CMultipole_1_1_int_z;
72#endif
73
75 // two-electron integrals
77 typedef GenIntegralSet_11_11<CGShell,TwoPRep,mType> TwoPRep_11_11_sq;
78 typedef GenIntegralSet_11_11<CGF,TwoPRep,mType> TwoPRep_11_11_int;
79 typedef GenIntegralSet_11_11<CGShell,R12kG12,mType> R12kG12_11_11_sq;
80 typedef GenIntegralSet_11_11<CGF,R12kG12,mType> R12kG12_11_11_int;
81 typedef GenIntegralSet_11_11<CGShell,R12kR12lG12,EmptySet> R12kR12lG12_11_11_sq;
82 typedef GenIntegralSet_11_11<CGF,R12kR12lG12,EmptySet> R12kR12lG12_11_11_int;
83 typedef GenIntegralSet_11_11<CGShell,TiG12,mType> TiG12_11_11_sq;
84 typedef GenIntegralSet_11_11<CGF,TiG12,mType> TiG12_11_11_int;
85 typedef GenIntegralSet_11_11<CGShell,G12TiG12,mType> G12TiG12_11_11_sq;
86 typedef GenIntegralSet_11_11<CGF,G12TiG12,mType> G12TiG12_11_11_int;
87 typedef GenIntegralSet_11_11<CGShell,DivG12prime_xTx,mType> DivG12prime_xTx_11_11_sq;
88 typedef GenIntegralSet_11_11<CGF,DivG12prime_xTx,mType> DivG12prime_xTx_11_11_int;
89 typedef GenIntegralSet< GenMultSymm2BodyOper,
90 IncableBFSet,
93 EmptySet >
94 DummySymmIntegral_11_11_sq;
95 typedef GenIntegralSet< GenMultSymm2BodyOper,
96 IncableBFSet,
99 EmptySet >
100 DummySymmIntegral_11_11_int;
101
105 typedef boost::mpl::list<
106#if LIBINT_SUPPORT_ONEBODYINTS
107 Overlap_1_1_sh,
108 Overlap_1_1_int,
109 Overlap_1_1_sh_x,
110 Overlap_1_1_int_x,
111 Overlap_1_1_sh_y,
112 Overlap_1_1_int_y,
113 Overlap_1_1_sh_z,
114 Overlap_1_1_int_z,
115 Kinetic_1_1_sh,
116 Kinetic_1_1_int,
117 Kinetic_1_1_sh_x,
118 Kinetic_1_1_int_x,
119 Kinetic_1_1_sh_y,
120 Kinetic_1_1_int_y,
121 Kinetic_1_1_sh_z,
122 Kinetic_1_1_int_z,
123 ElecPot_1_1_sh,
124 ElecPot_1_1_int,
125 CMultipole_1_1_sh,
126 CMultipole_1_1_int,
127 CMultipole_1_1_sh_x,
128 CMultipole_1_1_sh_y,
129 CMultipole_1_1_sh_z,
130 CMultipole_1_1_int_x,
131 CMultipole_1_1_int_y,
132 CMultipole_1_1_int_z,
133 SMultipole_1_1_sh,
134 SMultipole_1_1_int,
135#endif
136 TwoPRep_11_11_sq,
137 TwoPRep_11_11_int,
138 R12kG12_11_11_sq,
139 R12kG12_11_11_int,
140 R12kR12lG12_11_11_sq,
141 R12kR12lG12_11_11_int,
142 TiG12_11_11_sq,
143 TiG12_11_11_int,
144 G12TiG12_11_11_sq,
145 G12TiG12_11_11_int,
146 DivG12prime_xTx_11_11_sq,
147 DivG12prime_xTx_11_11_int,
148 DummySymmIntegral_11_11_sq,
149 DummySymmIntegral_11_11_int
151
152};
153
154#endif // header guard
Defaults definitions for various parameters assumed by Libint.
Definition: algebra.cc:24
boost::mpl::list<#if LIBINT_SUPPORT_ONEBODYINTS Overlap_1_1_sh, Overlap_1_1_int, Overlap_1_1_sh_x, Overlap_1_1_int_x, Overlap_1_1_sh_y, Overlap_1_1_int_y, Overlap_1_1_sh_z, Overlap_1_1_int_z, Kinetic_1_1_sh, Kinetic_1_1_int, Kinetic_1_1_sh_x, Kinetic_1_1_int_x, Kinetic_1_1_sh_y, Kinetic_1_1_int_y, Kinetic_1_1_sh_z, Kinetic_1_1_int_z, ElecPot_1_1_sh, ElecPot_1_1_int, CMultipole_1_1_sh, CMultipole_1_1_int, CMultipole_1_1_sh_x, CMultipole_1_1_sh_y, CMultipole_1_1_sh_z, CMultipole_1_1_int_x, CMultipole_1_1_int_y, CMultipole_1_1_int_z, SMultipole_1_1_sh, SMultipole_1_1_int,#endif TwoPRep_11_11_sq, TwoPRep_11_11_int, R12kG12_11_11_sq, R12kG12_11_11_int, R12kR12lG12_11_11_sq, R12kR12lG12_11_11_int, TiG12_11_11_sq, TiG12_11_11_int, G12TiG12_11_11_sq, G12TiG12_11_11_int, DivG12prime_xTx_11_11_sq, DivG12prime_xTx_11_11_int, DummySymmIntegral_11_11_sq, DummySymmIntegral_11_11_int > MasterIntegralTypeList
All known types go into this typelist Every type must have a corresponding instantiation of MasterStr...
Definition: master_ints_list.h:150
DefaultQuantumNumbers< int, 0 >::Result EmptySet
EmptySet is the type that describes null set of auxiliary indices.
Definition: quanta.h:404
ArrayBraket< BFS, 2 > Result
This defines which Braket implementation to use.
Definition: src/bin/libint/braket.h:232