MPQC
2.3.1
Main Page
Related Pages
Classes
Files
File List
src
lib
chemistry
qc
cints
tbintcints.h
1
//
2
// tbint.h
3
//
4
// Copyright (C) 2001 Edward Valeev
5
//
6
// Author: Edward Valeev <edward.valeev@chemistry.gatech.edu>
7
// Maintainer: EV
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_cints_tbint_h
29
#define _chemistry_qc_cints_tbint_h
30
31
#include <chemistry/qc/basis/tbint.h>
32
#include <chemistry/qc/cints/int2e.h>
33
34
namespace
sc {
35
36
// Types of available 2-electron integral evaluators
37
typedef
enum
{erieval = 0, grteval = 1, greval = 2} tbinteval;
38
40
class
TwoBodyIntCints
:
public
TwoBodyInt
{
41
protected
:
42
Ref<Int2eCints>
int2ecints_;
43
44
public
:
45
TwoBodyIntCints
(
Integral
*
integral
,
46
const
Ref<GaussianBasisSet>
&b1,
47
const
Ref<GaussianBasisSet>
&b2,
48
const
Ref<GaussianBasisSet>
&b3,
49
const
Ref<GaussianBasisSet>
&b4,
50
size_t
storage, tbinteval int2etype);
51
~
TwoBodyIntCints
();
52
53
int
log2_shell_bound
(
int
,
int
,
int
,
int
);
54
void
compute_shell
(
int
,
int
,
int
,
int
);
55
56
size_t
used_storage()
const
{
return
int2ecints_->
storage_used
(); }
57
void
set_integral_storage
(
size_t
storage);
58
59
const
double
*
buffer
(
tbint_type
te_type)
const
{
60
return
int2ecints_->
buffer
(te_type);
61
}
62
};
63
66
class
TwoBodyDerivIntCints
:
public
TwoBodyDerivInt
{
67
protected
:
68
Ref<Int2eCints>
int2ecints_;
69
70
public
:
71
TwoBodyDerivIntCints
(
Integral
*integral,
72
const
Ref<GaussianBasisSet>
&b1,
73
const
Ref<GaussianBasisSet>
&b2,
74
const
Ref<GaussianBasisSet>
&b3,
75
const
Ref<GaussianBasisSet>
&b4,
76
size_t
storage, tbinteval int2etype);
77
~
TwoBodyDerivIntCints
();
78
79
int
log2_shell_bound
(
int
,
int
,
int
,
int
);
80
void
compute_shell
(
int
,
int
,
int
,
int
,
DerivCenters
&);
81
82
size_t
used_storage()
const
{
return
int2ecints_->
storage_used
(); }
83
};
84
85
}
86
87
#endif
88
89
// Local Variables:
90
// mode: c++
91
// c-file-style: "CLJ"
92
// End:
Generated at Sun Mar 16 2014 21:30:04 for
MPQC
2.3.1 using the documentation package
Doxygen
1.8.1.2.