MPQC
2.3.1
Main Page
Related Pages
Classes
Files
File List
src
lib
chemistry
qc
mbptr12
transform_ixjy.h
1
//
2
// transform_ixjy.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_transformixjy_h
33
#define _chemistry_qc_mbptr12_transformixjy_h
34
35
#include <string>
36
#include <util/ref/ref.h>
37
#include <util/class/scexception.h>
38
#include <chemistry/qc/mbptr12/transform_tbint.h>
39
40
using namespace
std;
41
42
namespace
sc {
43
47
class
TwoBodyMOIntsTransform_ixjy
:
public
TwoBodyMOIntsTransform
{
48
49
// Initialize the MO integrals accumulator
50
void
init_acc();
51
// Compute required dynamic memory for a given batch size
52
distsize_t
compute_transform_dynamic_memory_(
int
ni)
const
;
53
54
public
:
55
56
TwoBodyMOIntsTransform_ixjy
(
StateIn
&);
57
TwoBodyMOIntsTransform_ixjy
(
const
std::string& name,
const
Ref<MOIntsTransformFactory>
& factory,
58
const
Ref<MOIndexSpace>
& space1,
const
Ref<MOIndexSpace>
& space2,
59
const
Ref<MOIndexSpace>
& space3,
const
Ref<MOIndexSpace>
& space4);
60
~
TwoBodyMOIntsTransform_ixjy
();
61
62
void
save_data_state(
StateOut
&);
63
65
std::string
type
()
const
{
return
"ixjy"
; }
66
69
const
size_t
memgrp_blksize()
const
;
70
72
void
compute();
74
void
check_int_symm(
double
threshold = TwoBodyMOIntsTransform::zero_integral)
const
throw (
ProgrammingError
);
75
};
76
77
}
78
79
#endif
80
81
// Local Variables:
82
// mode: c++
83
// c-file-style: "CLJ"
84
// End:
85
86
Generated at Fri Jul 26 2013 21:52:13 for
MPQC
2.3.1 using the documentation package
Doxygen
1.8.3.1.