MPQC
2.3.1
Main Page
Related Pages
Classes
Files
File List
src
lib
chemistry
qc
intv3
tbintv3.h
1
//
2
// tbintv3.h
3
//
4
// Copyright (C) 1996 Limit Point Systems, Inc.
5
//
6
// Author: Curtis Janssen <cljanss@limitpt.com>
7
// Maintainer: LPS
8
//
9
// This file is part of the SC Toolkit.
10
//
11
// The SC Toolkit is free software; you can redistribute it and/or modify
12
// it under the terms of the GNU Library General Public License as published by
13
// the Free Software Foundation; either version 2, or (at your option)
14
// any later version.
15
//
16
// The SC Toolkit is distributed in the hope that it will be useful,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
// GNU Library General Public License for more details.
20
//
21
// You should have received a copy of the GNU Library General Public License
22
// along with the SC Toolkit; see the file COPYING.LIB. If not, write to
23
// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24
//
25
// The U.S. Government is granted a limited license as per AL 91-7.
26
//
27
28
#ifndef _chemistry_qc_intv3_tbintv3_h
29
#define _chemistry_qc_intv3_tbintv3_h
30
31
#include <chemistry/qc/basis/tbint.h>
32
#include <chemistry/qc/intv3/int2e.h>
33
34
namespace
sc {
35
37
class
TwoBodyIntV3
:
public
TwoBodyInt
{
38
protected
:
39
Ref<Int2eV3>
int2ev3_;
40
41
public
:
42
TwoBodyIntV3
(
Integral
*
integral
,
43
const
Ref<GaussianBasisSet>
&b1,
44
const
Ref<GaussianBasisSet>
&b2,
45
const
Ref<GaussianBasisSet>
&b3,
46
const
Ref<GaussianBasisSet>
&b4,
47
size_t
storage);
48
~
TwoBodyIntV3
();
49
50
int
log2_shell_bound
(
int
,
int
,
int
,
int
);
51
void
compute_shell
(
int
,
int
,
int
,
int
);
52
53
size_t
storage_used() {
return
int2ev3_->storage_used(); }
54
void
set_integral_storage
(
size_t
storage);
55
};
56
59
class
TwoBodyThreeCenterIntV3
:
public
TwoBodyThreeCenterInt
{
60
protected
:
61
Ref<Int2eV3>
int2ev3_;
62
63
public
:
64
TwoBodyThreeCenterIntV3
(
Integral
*
integral
,
65
const
Ref<GaussianBasisSet>
&b1,
66
const
Ref<GaussianBasisSet>
&b2,
67
const
Ref<GaussianBasisSet>
&b3,
68
size_t
storage);
69
~
TwoBodyThreeCenterIntV3
();
70
71
int
log2_shell_bound
(
int
,
int
,
int
);
72
void
compute_shell
(
int
,
int
,
int
);
73
74
size_t
storage_used() {
return
int2ev3_->storage_used(); }
75
void
set_integral_storage
(
size_t
storage);
76
};
77
80
class
TwoBodyTwoCenterIntV3
:
public
TwoBodyTwoCenterInt
{
81
protected
:
82
Ref<Int2eV3>
int2ev3_;
83
84
public
:
85
TwoBodyTwoCenterIntV3
(
Integral
*
integral
,
86
const
Ref<GaussianBasisSet>
&b1,
87
const
Ref<GaussianBasisSet>
&b2,
88
size_t
storage);
89
~
TwoBodyTwoCenterIntV3
();
90
91
int
log2_shell_bound
(
int
,
int
);
92
void
compute_shell
(
int
,
int
);
93
94
size_t
storage_used() {
return
int2ev3_->storage_used(); }
95
void
set_integral_storage
(
size_t
storage);
96
};
97
100
class
TwoBodyDerivIntV3
:
public
TwoBodyDerivInt
{
101
protected
:
102
Ref<Int2eV3>
int2ev3_;
103
104
public
:
105
TwoBodyDerivIntV3
(
Integral
*integral,
106
const
Ref<GaussianBasisSet>
&b1,
107
const
Ref<GaussianBasisSet>
&b2,
108
const
Ref<GaussianBasisSet>
&b3,
109
const
Ref<GaussianBasisSet>
&b4,
110
size_t
storage);
111
~
TwoBodyDerivIntV3
();
112
113
int
log2_shell_bound
(
int
,
int
,
int
,
int
);
114
void
compute_shell
(
int
,
int
,
int
,
int
,
DerivCenters
&);
115
116
size_t
storage_used() {
return
int2ev3_->storage_used(); }
117
};
118
119
}
120
121
#endif
122
123
// Local Variables:
124
// mode: c++
125
// c-file-style: "CLJ"
126
// End:
Generated at Wed Sep 25 2013 15:23:40 for
MPQC
2.3.1 using the documentation package
Doxygen
1.8.3.1.