MPQC
2.3.1
src
lib
chemistry
qc
mbpt
csgrads2pdm.h
1
//
2
// csgrads2pdm.h
3
// based on csgrade12.h
4
//
5
// Copyright (C) 1996 Limit Point Systems, Inc.
6
//
7
// Author: Ida Nielsen <ida@kemi.aau.dk>
8
// Maintainer: LPS
9
//
10
// This file is part of the SC Toolkit.
11
//
12
// The SC Toolkit is free software; you can redistribute it and/or modify
13
// it under the terms of the GNU Library General Public License as published by
14
// the Free Software Foundation; either version 2, or (at your option)
15
// any later version.
16
//
17
// The SC Toolkit is distributed in the hope that it will be useful,
18
// but WITHOUT ANY WARRANTY; without even the implied warranty of
19
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
// GNU Library General Public License for more details.
21
//
22
// You should have received a copy of the GNU Library General Public License
23
// along with the SC Toolkit; see the file COPYING.LIB. If not, write to
24
// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
25
//
26
// The U.S. Government is granted a limited license as per AL 91-7.
27
//
28
29
#ifndef _chemistry_qc_mbpt_csgrads2pdm_h
30
#define _chemistry_qc_mbpt_csgrads2pdm_h
31
32
#ifdef __GNUC__
33
#pragma interface
34
#endif
35
36
#include <util/misc/regtime.h>
37
#include <util/group/memory.h>
38
#include <util/group/thread.h>
39
#include <chemistry/qc/basis/integral.h>
40
41
namespace
sc {
42
43
#define PRINT_BIGGEST_INTS 0
44
45
class
CSGradS2PDM
:
public
Thread
{
46
private
:
47
int
mythread;
48
int
nthread;
49
int
me;
50
int
nproc;
51
Ref<ThreadLock>
lock;
52
Ref<GaussianBasisSet>
basis;
53
Ref<TwoBodyDerivInt>
tbintder;
54
const
double
*PHF;
55
const
double
*P2AO;
56
int
tol;
57
int
debug;
58
int
dynamic;
59
60
double
**ginter;
61
double
**hf_ginter;
62
63
void
accum_contrib(
double
**sum,
double
**contribs);
64
public
:
65
CSGradS2PDM
(
int
mythread_a,
int
nthread_a,
66
int
me_a,
int
nproc_a,
67
const
Ref<ThreadLock>
&lock_a,
68
const
Ref<GaussianBasisSet>
&basis_a,
69
const
Ref<TwoBodyDerivInt>
&tbintder_a,
70
const
double
*PHF_a,
const
double
*P2AO_a,
71
int
tol_a,
int
debug_a,
int
dynamic_a);
72
73
~
CSGradS2PDM
();
74
void
accum_mp2_contrib(
double
**ginter);
75
void
accum_hf_contrib(
double
**hf_ginter);
76
void
run
();
77
};
78
79
}
80
81
#endif
82
83
// //////////////////////////////////////////////////////////////////////////
84
85
// Local Variables:
86
// mode: c++
87
// c-file-style: "CLJ-CONDENSED"
88
// End:
sc::CSGradS2PDM
Definition:
csgrads2pdm.h:45
sc::Ref
A template class that maintains references counts.
Definition:
ref.h:332
sc::CSGradS2PDM::run
void run()
This is called with the Thread is run from a ThreadGrp.
sc::Thread
The Thread abstract class defines an interface which must be implemented by classes wishing to be run...
Definition:
thread.h:79
Generated at Sun Jan 26 2020 23:33:03 for
MPQC
2.3.1 using the documentation package
Doxygen
1.8.16.