MPQC
2.3.1
Main Page
Related Pages
Classes
Files
File List
src
lib
chemistry
qc
mbptr12
transform_ijxy.h
1
//
2
// transform_ijxy.h
3
//
4
// Copyright (C) 2004 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
#ifdef __GNUG__
29
#pragma interface
30
#endif
31
32
#ifndef _chemistry_qc_mbptr12_transformijxy_h
33
#define _chemistry_qc_mbptr12_transformijxy_h
34
35
#include <string>
36
#include <util/ref/ref.h>
37
#include <chemistry/qc/mbptr12/transform_tbint.h>
38
39
using namespace
std;
40
41
namespace
sc {
42
46
class
TwoBodyMOIntsTransform_ijxy
:
public
TwoBodyMOIntsTransform
{
47
48
// Initialize the MO integrals accumulator
49
void
init_acc();
50
// Compute required dynamic memory for a given batch size
51
distsize_t
compute_transform_dynamic_memory_(
int
ni)
const
;
52
53
public
:
54
55
TwoBodyMOIntsTransform_ijxy
(
StateIn
&);
56
TwoBodyMOIntsTransform_ijxy
(
const
std::string& name,
const
Ref<MOIntsTransformFactory>
& factory,
57
const
Ref<MOIndexSpace>
& space1,
const
Ref<MOIndexSpace>
& space2,
58
const
Ref<MOIndexSpace>
& space3,
const
Ref<MOIndexSpace>
& space4);
59
~
TwoBodyMOIntsTransform_ijxy
();
60
61
void
save_data_state(
StateOut
&);
62
64
std::string
type
()
const
{
return
"ijxy"
; }
65
68
const
size_t
memgrp_blksize()
const
;
69
71
void
compute();
73
void
check_int_symm(
double
threshold = TwoBodyMOIntsTransform::zero_integral)
const
throw (
ProgrammingError
);
74
};
75
76
}
77
78
#endif
79
80
// Local Variables:
81
// mode: c++
82
// c-file-style: "CLJ"
83
// End:
84
85
Generated at Tue Aug 20 2013 22:07:02 for
MPQC
2.3.1 using the documentation package
Doxygen
1.8.3.1.